// Token: 0x06005D04 RID: 23812 RVA: 0x001A2BA8 File Offset: 0x001A0DA8 internal void OnHeaderMouseMove(MouseEventArgs e) { if (e.LeftButton == MouseButtonState.Pressed && this._prepareColumnHeaderDragging) { this._columnHeaderDragCurrentPosition = e.GetPosition(this); if (!this._isColumnHeaderDragging) { if (DataGridColumnHeadersPresenter.CheckStartColumnHeaderDrag(this._columnHeaderDragCurrentPosition, this._columnHeaderDragStartPosition)) { this.StartColumnHeaderDrag(); return; } } else { Visibility visibility = this.IsMousePositionValidForColumnDrag(2.0) ? Visibility.Visible : Visibility.Collapsed; if (this._columnHeaderDragIndicator != null) { this._columnHeaderDragIndicator.Visibility = visibility; } if (this._columnHeaderDropLocationIndicator != null) { this._columnHeaderDropLocationIndicator.Visibility = visibility; } base.InvalidateArrange(); DragDeltaEventArgs e2 = new DragDeltaEventArgs(this._columnHeaderDragCurrentPosition.X - this._columnHeaderDragStartPosition.X, this._columnHeaderDragCurrentPosition.Y - this._columnHeaderDragStartPosition.Y); this._columnHeaderDragStartPosition = this._columnHeaderDragCurrentPosition; this.ParentDataGrid.OnColumnHeaderDragDelta(e2); } } }
/// <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, VirtualizingPanel.IsVirtualizingProperty); if (e.OldValue != headersPresenter.GetValue(VirtualizingPanel.IsVirtualizingProperty)) { headersPresenter.InvalidateDataGridCellsPanelMeasureAndArrange(); } }
/// <summary>Provides class handling for the <see cref="E:System.Windows.UIElement.LostMouseCapture" /> routed event that occurs when this control is no longer receiving mouse event messages.</summary> /// <param name="e">The event data for the <see cref="E:System.Windows.Input.Mouse.LostMouseCapture" /> event.</param> // Token: 0x06005CE6 RID: 23782 RVA: 0x001A2230 File Offset: 0x001A0430 protected override void OnLostMouseCapture(MouseEventArgs e) { base.OnLostMouseCapture(e); DataGridColumnHeadersPresenter parentPresenter = this.ParentPresenter; if (parentPresenter != null) { parentPresenter.OnHeaderLostMouseCapture(e); e.Handled = true; } }
protected override void OnMouseMove(MouseEventArgs e) { base.OnMouseMove(e); DataGridColumnHeadersPresenter parentPresenter = ParentPresenter; if (parentPresenter != null) { parentPresenter.OnHeaderMouseMove(e); e.Handled = true; } }
/// <summary>Provides class handling for the <see cref="E:System.Windows.UIElement.MouseLeftButtonUp" /> routed event that occurs when the left mouse button is released while the mouse pointer is over this control.</summary> /// <param name="e">The event data.</param> // Token: 0x06005CE5 RID: 23781 RVA: 0x001A21EC File Offset: 0x001A03EC protected override void OnMouseLeftButtonUp(MouseButtonEventArgs e) { base.OnMouseLeftButtonUp(e); DataGridColumnHeadersPresenter parentPresenter = this.ParentPresenter; if (parentPresenter != null) { if (base.ClickMode == ClickMode.Hover && base.IsMouseCaptured) { base.ReleaseMouseCapture(); } parentPresenter.OnHeaderMouseLeftButtonUp(e); e.Handled = true; } }
/// <summary>Provides class handling for the <see cref="E:System.Windows.UIElement.MouseLeftButtonDown" /> routed event that occurs when the left mouse button is pressed while the mouse pointer is over this control.</summary> /// <param name="e">The event data.</param> // Token: 0x06005CE3 RID: 23779 RVA: 0x001A2178 File Offset: 0x001A0378 protected override void OnMouseLeftButtonDown(MouseButtonEventArgs e) { base.OnMouseLeftButtonDown(e); DataGridColumnHeadersPresenter parentPresenter = this.ParentPresenter; if (parentPresenter != null) { if (base.ClickMode == ClickMode.Hover && e.ButtonState == MouseButtonState.Pressed) { base.CaptureMouse(); } parentPresenter.OnHeaderMouseLeftButtonDown(e); e.Handled = true; } }
void dgEDetails_LayoutUpdated(object sender, EventArgs e) { dpEDetails.PageSize = (int)(dgEDetails.ActualHeight / 27); if (refreshUI && headers == null) { dghc = dgEDetails.GetChildrenByType<DataGridColumnHeadersPresenter>().FirstOrDefault(); foreach (DataGridColumnHeader dgch in dghc.Children) { dgch.SizeChanged += (s, args) => { Resize(); }; } } if (refreshUI) Resize(); refreshUI = false; }
protected override void OnMouseLeftButtonDown(MouseButtonEventArgs e) { base.OnMouseLeftButtonDown(e); DataGridColumnHeadersPresenter parentPresenter = ParentPresenter; if (parentPresenter != null) { // If clickmode is hover then during the mouse move the hover events will be sent // all the headers in the path. To avoid that we are using a capture if (ClickMode == ClickMode.Hover && e.ButtonState == MouseButtonState.Pressed) { CaptureMouse(); } parentPresenter.OnHeaderMouseLeftButtonDown(e); e.Handled = true; } }
// Token: 0x06005CD8 RID: 23768 RVA: 0x001A201C File Offset: 0x001A021C private static object OnCoerceHeight(DependencyObject d, object baseValue) { DataGridColumnHeader dataGridColumnHeader = (DataGridColumnHeader)d; DataGridColumn column = dataGridColumnHeader.Column; DataGrid parentObject = null; if (column == null) { DataGridColumnHeadersPresenter dataGridColumnHeadersPresenter = dataGridColumnHeader.TemplatedParent as DataGridColumnHeadersPresenter; if (dataGridColumnHeadersPresenter != null) { parentObject = dataGridColumnHeadersPresenter.ParentDataGrid; } } else { parentObject = column.DataGridOwner; } return(DataGridHelper.GetCoercedTransferPropertyValue(dataGridColumnHeader, baseValue, FrameworkElement.HeightProperty, parentObject, DataGrid.ColumnHeaderHeightProperty)); }
/// <summary> /// OnTemplateChanged override /// </summary> protected override void OnTemplateChanged(ControlTemplate oldTemplate, ControlTemplate newTemplate) { base.OnTemplateChanged(oldTemplate, newTemplate); // Our column headers presenter comes from the template. Clear out the reference to it if the template has changed ColumnHeadersPresenter = null; }
/// <summary> /// AutomationPeer for DataGridColumnHeadersPresenter /// </summary> /// <param name="owner">DataGridColumnHeadersPresenter</param> public DataGridColumnHeadersPresenterAutomationPeer(DataGridColumnHeadersPresenter owner) : base(owner) { }
/// <summary> /// Builds the visual tree for the column header when a new template is applied. /// </summary> public override void OnApplyTemplate() { // The template has changed, so we need to refresh the visuals this._measured = false; if (this._columnHeadersPresenter != null) { // If we're applying a new template, we want to remove the old column headers first this._columnHeadersPresenter.Children.Clear(); } _columnHeadersPresenter = GetTemplateChild(DATAGRID_elementColumnHeadersPresenterName) as DataGridColumnHeadersPresenter; if (_columnHeadersPresenter != null) { if (this.ColumnsInternal.FillerColumn != null) { this.ColumnsInternal.FillerColumn.IsRepresented = false; } _columnHeadersPresenter.OwningGrid = this; // Columns were added before before our Template was applied, add the ColumnHeaders now foreach (DataGridColumn column in this.ColumnsItemsInternal) { InsertDisplayedColumnHeader(column); } } if (this._rowsPresenter != null) { // If we're applying a new template, we want to remove the old rows first this.UnloadElements(false /*recycle*/); } _rowsPresenter = GetTemplateChild(DATAGRID_elementRowsPresenterName) as DataGridRowsPresenter; if (_rowsPresenter != null) { _rowsPresenter.OwningGrid = this; InvalidateRowHeightEstimate(); UpdateRowDetailsHeightEstimate(); } _frozenColumnScrollBarSpacer = GetTemplateChild(DATAGRID_elementFrozenColumnScrollBarSpacerName) as FrameworkElement; if (_hScrollBar != null) { _hScrollBar.Scroll -= new ScrollEventHandler(HorizontalScrollBar_Scroll); } _hScrollBar = GetTemplateChild(DATAGRID_elementHorizontalScrollbarName) as ScrollBar; if (_hScrollBar != null) { _hScrollBar.IsTabStop = false; _hScrollBar.Maximum = 0.0; _hScrollBar.Orientation = Orientation.Horizontal; _hScrollBar.Visibility = Visibility.Collapsed; _hScrollBar.Scroll += new ScrollEventHandler(HorizontalScrollBar_Scroll); } if (_vScrollBar != null) { _vScrollBar.Scroll -= new ScrollEventHandler(VerticalScrollBar_Scroll); } _vScrollBar = GetTemplateChild(DATAGRID_elementVerticalScrollbarName) as ScrollBar; if (_vScrollBar != null) { _vScrollBar.IsTabStop = false; _vScrollBar.Maximum = 0.0; _vScrollBar.Orientation = Orientation.Vertical; _vScrollBar.Visibility = Visibility.Collapsed; _vScrollBar.Scroll += new ScrollEventHandler(VerticalScrollBar_Scroll); } _topLeftCornerHeader = GetTemplateChild(DATAGRID_elementTopLeftCornerHeaderName) as ContentControl; EnsureTopLeftCornerHeader(); // EnsureTopLeftCornerHeader checks for a null _topLeftCornerHeader; _topRightCornerHeader = GetTemplateChild(DATAGRID_elementTopRightCornerHeaderName) as ContentControl; if (this._validationSummary != null) { this._validationSummary.FocusingInvalidControl -= new EventHandler<FocusingInvalidControlEventArgs>(ValidationSummary_FocusingInvalidControl); this._validationSummary.SelectionChanged -= new EventHandler<SelectionChangedEventArgs>(ValidationSummary_SelectionChanged); } this._validationSummary = GetTemplateChild(DATAGRID_elementValidationSummary) as ValidationSummary; if (this._validationSummary != null) { // The ValidationSummary defaults to using its parent if Target is null, so the only // way to prevent it from automatically picking up errors is to set it to some useless element. if (this._validationSummary.Target == null) { this._validationSummary.Target = new Rectangle(); } this._validationSummary.FocusingInvalidControl += new EventHandler<FocusingInvalidControlEventArgs>(ValidationSummary_FocusingInvalidControl); this._validationSummary.SelectionChanged += new EventHandler<SelectionChangedEventArgs>(ValidationSummary_SelectionChanged); if (DesignerProperties.IsInDesignTool) { Debug.Assert(this._validationSummary.Errors != null); // Do not add the default design time errors when in design mode. this._validationSummary.Errors.Clear(); } } UpdateDisabledVisual(); }
// Token: 0x06005D16 RID: 23830 RVA: 0x001A3244 File Offset: 0x001A1444 private void FindDisplayIndexAndHeaderPosition(Point startPos, bool findNearestColumn, out int displayIndex, out Point headerPos, out DataGridColumnHeader header) { Point point = new Point(0.0, 0.0); headerPos = point; displayIndex = -1; header = null; if (startPos.X < 0.0) { if (findNearestColumn) { displayIndex = 0; } return; } double num = 0.0; double num2 = 0.0; DataGrid parentDataGrid = this.ParentDataGrid; double averageColumnWidth = parentDataGrid.InternalColumns.AverageColumnWidth; bool flag = false; int i = 0; while (i < parentDataGrid.Columns.Count) { displayIndex++; DataGridColumnHeader dataGridColumnHeader = parentDataGrid.ColumnHeaderFromDisplayIndex(i); if (dataGridColumnHeader != null) { GeneralTransform generalTransform = dataGridColumnHeader.TransformToAncestor(this); num = generalTransform.Transform(point).X; num2 = num + dataGridColumnHeader.RenderSize.Width; goto IL_FB; } DataGridColumn dataGridColumn = parentDataGrid.ColumnFromDisplayIndex(i); if (dataGridColumn.IsVisible) { num = num2; if (i >= parentDataGrid.FrozenColumnCount && !flag) { num -= parentDataGrid.HorizontalScrollOffset; flag = true; } num2 = num + DataGridColumnHeadersPresenter.GetColumnEstimatedWidth(dataGridColumn, averageColumnWidth); goto IL_FB; } IL_18D: i++; continue; IL_FB: if (DoubleUtil.LessThanOrClose(startPos.X, num)) { break; } if (!DoubleUtil.GreaterThanOrClose(startPos.X, num) || !DoubleUtil.LessThanOrClose(startPos.X, num2)) { goto IL_18D; } if (!findNearestColumn) { header = dataGridColumnHeader; break; } double value = (num + num2) * 0.5; if (DoubleUtil.GreaterThanOrClose(startPos.X, value)) { num = num2; displayIndex++; } if (this._draggingSrcColumnHeader != null && this._draggingSrcColumnHeader.Column != null && this._draggingSrcColumnHeader.Column.DisplayIndex < displayIndex) { displayIndex--; break; } break; } if (i == parentDataGrid.Columns.Count) { displayIndex = parentDataGrid.Columns.Count - 1; num = num2; } headerPos.X = num; }
// Token: 0x06005CFC RID: 23804 RVA: 0x001A2A00 File Offset: 0x001A0C00 private static object OnCoerceIsVirtualizingProperty(DependencyObject d, object baseValue) { DataGridColumnHeadersPresenter dataGridColumnHeadersPresenter = d as DataGridColumnHeadersPresenter; return(DataGridHelper.GetCoercedTransferPropertyValue(dataGridColumnHeadersPresenter, baseValue, VirtualizingPanel.IsVirtualizingProperty, dataGridColumnHeadersPresenter.ParentDataGrid, DataGrid.EnableColumnVirtualizationProperty)); }
public override void OnApplyTemplate() { _columnHeadersPresenter = GetTemplateChild(DATAGRID_elementColumnHeadersPresenterName) as DataGridColumnHeadersPresenter; if (_columnHeadersPresenter != null) { _columnHeadersPresenter.OwningGrid = this; // Columns were added before before our Template was applied, add the ColumnHeaders now foreach (DataGridColumn column in this.ColumnsInternal) { InsertDisplayedColumnHeader(column); } } _rowsPresenter = GetTemplateChild(DATAGRID_elementRowsPresenterName) as DataGridRowsPresenter; if (_rowsPresenter != null) { _rowsPresenter.OwningGrid = this; InvalidateRowHeightEstimate(); UpdateRowDetailsHeightEstimate(); } _frozenColumnScrollBarSpacer = GetTemplateChild(DATAGRID_elementFrozenColumnScrollBarSpacerName) as FrameworkElement; _hScrollBar = GetTemplateChild(DATAGRID_elementHorizontalScrollbarName) as ScrollBar; if (_hScrollBar != null) { _hScrollBar.IsTabStop = false; _hScrollBar.Maximum = 0.0; _hScrollBar.Orientation = Orientation.Horizontal; _hScrollBar.Visibility = Visibility.Collapsed; _hScrollBar.Scroll += new ScrollEventHandler(HorizontalScrollBar_Scroll); } _vScrollBar = GetTemplateChild(DATAGRID_elementVerticalScrollbarName) as ScrollBar; if (_vScrollBar != null) { _vScrollBar.IsTabStop = false; _vScrollBar.Maximum = 0.0; _vScrollBar.Orientation = Orientation.Vertical; _vScrollBar.Visibility = Visibility.Collapsed; _vScrollBar.Scroll += new ScrollEventHandler(VerticalScrollBar_Scroll); } _topLeftCornerHeader = GetTemplateChild(DATAGRID_elementTopLeftCornerHeaderName) as ContentControl; EnsureTopLeftCornerHeader(); // EnsureTopLeftCornerHeader checks for a null _topLeftCornerHeader; _topRightCornerHeader = GetTemplateChild(DATAGRID_elementTopRightCornerHeaderName) as ContentControl; }