internal void HideFarDropMark() { int itemsCount = this.Items.Count; if (itemsCount > 0) { HierarchicalGroupByItem hierarchicalGroupByItem = null; if (itemsCount > 1) { // Hide the before last item's DropMark if any in case hierarchicalGroupByItem = this.ItemContainerGenerator.ContainerFromIndex(itemsCount - 2) as HierarchicalGroupByItem; Debug.Assert(hierarchicalGroupByItem != null); if (hierarchicalGroupByItem != null) { hierarchicalGroupByItem.HideDropMark(); } } // Hide last item's DropMark if any hierarchicalGroupByItem = this.ItemContainerGenerator.ContainerFromIndex(itemsCount - 1) as HierarchicalGroupByItem; Debug.Assert(hierarchicalGroupByItem != null); if (hierarchicalGroupByItem != null) { hierarchicalGroupByItem.HideDropMark(); } } if (m_dropMarkAdorner != null) { AdornerLayer adornerLayer = AdornerLayer.GetAdornerLayer(this); if (adornerLayer != null) { adornerLayer.Remove(m_dropMarkAdorner); } m_dropMarkAdorner = null; } }
internal void HideFarDropMark(ColumnManagerCell cell) { Debug.Assert(cell != null); if (cell == null) { return; } DataGridContext cellDataGridContext = DataGridControl.GetDataGridContext(cell); Debug.Assert(cellDataGridContext != null); if (cellDataGridContext == null) { throw new DataGridInternalException("DataGridContext cannot be null on ColumnManagerCell."); } this.HideFarDropMark(); // We already have GroupLevelDescriptions for this level, we should show DropMark on the last HierarchicalGroupByItem if (cellDataGridContext.GroupLevelDescriptions.Count > 0) { Debug.Assert(cellDataGridContext.GroupLevelDescriptions == this.GroupLevelDescriptions); if (cellDataGridContext.GroupLevelDescriptions != this.GroupLevelDescriptions) { return; } int lastIndex = this.GroupLevelDescriptions.Count - 1; if (lastIndex > -1) { HierarchicalGroupByItem hierarchicalGroupByItem = this.ItemContainerGenerator.ContainerFromItem(this.GroupLevelDescriptions[lastIndex]) as HierarchicalGroupByItem; Debug.Assert(hierarchicalGroupByItem != null); if (hierarchicalGroupByItem == null) { return; } hierarchicalGroupByItem.HideDropMark(); } } }