public static IsPointInTopHalf ( |
||
itemsControl | ||
e | System.Windows.DragEventArgs | |
return | bool |
private void UpdateInsertAdorner(ItemsControl itemsControl, DragEventArgs e) { if (_insertAdorner != null) { _insertAdorner.IsTopHalf = Helper.IsPointInTopHalf(itemsControl, e); _insertAdorner.InvalidateVisual(); } }
private void InitializeInsertAdorner(ItemsControl itemsControl, DragEventArgs e) { if (_insertAdorner == null) { var adornerLayer = AdornerLayer.GetAdornerLayer(itemsControl); UIElement itemContainer = Helper.GetItemContainerFromPoint(itemsControl, e.GetPosition(itemsControl)); if (itemContainer != null) { bool isPointInTopHalf = Helper.IsPointInTopHalf(itemsControl, e); bool isItemsControlOrientationHorizontal = Helper.IsItemControlOrientationHorizontal(itemsControl); _insertAdorner = new InsertAdorner(isPointInTopHalf, isItemsControlOrientationHorizontal, itemContainer, adornerLayer); } } }
private int FindInsertionIndex(ItemsControl itemsControl, DragEventArgs e) { UIElement dropTargetContainer = Helper.GetItemContainerFromPoint(itemsControl, e.GetPosition(itemsControl)); if (dropTargetContainer != null) { int index = itemsControl.ItemContainerGenerator.IndexFromContainer(dropTargetContainer); if (Helper.IsPointInTopHalf(itemsControl, e)) { return(index); } else { return(index + 1); } } return(itemsControl.Items.Count); }