public override void OnUpdateEditBinding(DataColumnBase dataColumn, GridHeaderCellControl element, object dataContext) { GridColumn column = dataColumn.GridColumn; #if WPF if (DataGrid != null && !DataGrid.IsLoaded) { column = column.Clone() as GridColumn; } #endif element.ClearValue(GridHeaderCellControl.ContentProperty); element.Column = column; if (column.HeaderText == null) { column.HeaderText = column.MappingName; } element.SetValue(ContentControl.ContentProperty, column.HeaderText); //We need bind the HorizontalHeaderContentAlignment value if only column has HorizontalHeaderContentAlignment value if (column.ReadLocalValue(GridColumn.HorizontalHeaderContentAlignmentProperty) != DependencyProperty.UnsetValue) { element.SetValue(Control.HorizontalContentAlignmentProperty, column.HorizontalHeaderContentAlignment); } else { element.ClearValue(Control.HorizontalContentAlignmentProperty); } element.Update(); element.DataContext = column; }