void IDropTarget.DragLeave(UIElement draggedElement) { ColumnManagerCell cell = draggedElement as ColumnManagerCell; if (cell == null) { return; } DataGridContext draggedDetailContext = DataGridControl.GetDataGridContext(draggedElement); int lastIndex = draggedDetailContext.GroupLevelDescriptions.Count - 1; if (lastIndex > -1) { GroupByItem groupByItem = this.ItemContainerGenerator.ContainerFromIndex(lastIndex) as GroupByItem; Debug.Assert(groupByItem != null); if (groupByItem == null) { throw new DataGridInternalException(); } groupByItem.HideDropMark(); } else { this.HideDropMark(); } }
void IDropTarget.Drop(UIElement draggedElement) { ColumnManagerCell cell = draggedElement as ColumnManagerCell; if (cell == null) { return; } DataGridContext draggedDetailContext = DataGridControl.GetDataGridContext(draggedElement); int lastIndex = draggedDetailContext.GroupLevelDescriptions.Count - 1; if (lastIndex > -1) { GroupByItem groupByItem = this.ItemContainerGenerator.ContainerFromIndex(lastIndex) as GroupByItem; Debug.Assert(groupByItem != null); if (groupByItem == null) { throw new DataGridInternalException("groupByItem is null."); } groupByItem.HideDropMark(); } else { this.HideDropMark(); } DataGridContext dataGridContext = DataGridControl.GetDataGridContext(this); DataGridControl parentGrid = (dataGridContext != null) ? dataGridContext.DataGridControl : null; GroupingHelper.AppendNewGroupFromColumnManagerCell(cell, parentGrid); }