/// <summary> /// Coercion callback for Height property. /// </summary> private static object OnCoerceHeight(DependencyObject d, object baseValue) { var columnHeader = (DataGridColumnHeader)d; DataGridColumn column = columnHeader.Column; DataGrid dataGrid = null; // Propagate style changes to any filler column headers. if (column == null) { DataGridColumnHeadersPresenter presenter = columnHeader.TemplatedParent as DataGridColumnHeadersPresenter; if (presenter != null) { dataGrid = presenter.ParentDataGrid; } } else { dataGrid = column.DataGridOwner; } return(DataGridHelper.GetCoercedTransferPropertyValue( columnHeader, baseValue, HeightProperty, dataGrid, DataGrid.ColumnHeaderHeightProperty)); }
/// <summary> /// Property changed callback for VirtualizingStackPanel.IsVirtualizing property /// </summary> private static void OnIsVirtualizingPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { DataGridColumnHeadersPresenter headersPresenter = (DataGridColumnHeadersPresenter)d; DataGridHelper.TransferProperty(headersPresenter, VirtualizingStackPanel.IsVirtualizingProperty); if (e.OldValue != headersPresenter.GetValue(VirtualizingStackPanel.IsVirtualizingProperty)) { headersPresenter.InvalidateDataGridCellsPanelMeasureAndArrange(); } }
/// <summary> /// AutomationPeer for DataGridColumnHeadersPresenter /// </summary> /// <param name="owner">DataGridColumnHeadersPresenter</param> public DataGridColumnHeadersPresenterAutomationPeer(DataGridColumnHeadersPresenter owner) : base(owner) { }