//set NotifyOnTargetUpdated property of each binding to true. void dataGrid1_AutoGeneratingColumn(object sender, Microsoft.Windows.Controls.DataGridAutoGeneratingColumnEventArgs e) { Binding binding = (e.Column as DataGridTextColumn).Binding as Binding; binding.NotifyOnTargetUpdated = true; }
private void MainDataGrid_AutoGeneratingColumn(object sender, Microsoft.Windows.Controls.DataGridAutoGeneratingColumnEventArgs e) { int endColIndx = ((FastDB.ResultViewModel)(this.DataContext)).EndColumn; Microsoft.Windows.Controls.DataGridTextColumn dataGridTextColumn = e.Column as Microsoft.Windows.Controls.DataGridTextColumn; TextBlock tb = new TextBlock(); if (ColNum >= 0 && ColNum < endColIndx - 1) { e.Column.Width = new Microsoft.Windows.Controls.DataGridLength(160, Microsoft.Windows.Controls.DataGridLengthUnitType.Pixel); ColNum = ColNum + 1; } else { e.Column.Width = new Microsoft.Windows.Controls.DataGridLength(1, Microsoft.Windows.Controls.DataGridLengthUnitType.Star); ColNum = 0; } if (e.PropertyType == typeof(Int16) || e.PropertyType == typeof(Decimal) || e.PropertyType == typeof(Double) || e.PropertyType == typeof(Int32) || e.PropertyType == typeof(Int64)) { if (dataGridTextColumn != null) { dataGridTextColumn.ElementStyle = (Style)FindResource("RightAlignStyle"); } } else { dataGridTextColumn.ElementStyle = (Style)FindResource("DataGridCellStyle"); } foreach (SQLBuilder.Clauses.Column col in result.QueryBulder.FinalSelectedColumns) { if (col.AliasName == dataGridTextColumn.Header.ToString() && col.Format != null) { dataGridTextColumn.Binding.StringFormat = SQLBuilder.Common.ColumnFormat.Instance.getColumnFormat(col.Format); break; } } }