コード例 #1
0
        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;
        }