private void OnCanUserResizeChanged()
        {
            Debug.Assert(Column != null, "column can't be null if we got a notification for this property change");
            DataGrid dataGrid = Column.DataGridOwner;

            if (dataGrid != null)
            {
                DataGridColumnHeader nextColumnHeader = dataGrid.ColumnHeaderFromDisplayIndex(DisplayIndex + 1);
                if (nextColumnHeader != null)
                {
                    nextColumnHeader.SetLeftGripperVisibility(Column.CanUserResize);
                }

                SetRightGripperVisibility();
            }
        }
Esempio n. 2
0
        private void SetNextHeaderLeftGripperVisibility(bool canUserResize)
        {
            DataGrid dataGrid    = Column.DataGridOwner;
            int      columnCount = dataGrid.Columns.Count;

            for (int index = DisplayIndex + 1; index < columnCount; index++)
            {
                if (dataGrid.ColumnFromDisplayIndex(index).IsVisible)
                {
                    DataGridColumnHeader nextHeader = dataGrid.ColumnHeaderFromDisplayIndex(index);
                    if (nextHeader != null)
                    {
                        nextHeader.SetLeftGripperVisibility(canUserResize);
                    }
                    break;
                }
            }
        }
        /// <summary>
        /// Property changed call back for DisplayIndex property.
        /// Sets the visibility of resize grippers accordingly
        /// </summary>
        /// <param name="d"></param>
        /// <param name="e"></param>
        private static void OnDisplayIndexChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            DataGridColumnHeader header = (DataGridColumnHeader)d;
            DataGridColumn       column = header.Column;

            if (column != null)
            {
                DataGrid dataGrid = column.DataGridOwner;
                if (dataGrid != null)
                {
                    header.SetLeftGripperVisibility();
                    DataGridColumnHeader nextColumnHeader = dataGrid.ColumnHeaderFromDisplayIndex(header.DisplayIndex + 1);
                    if (nextColumnHeader != null)
                    {
                        nextColumnHeader.SetLeftGripperVisibility(column.CanUserResize);
                    }
                }
            }
        }