IsPointInTopHalf() public static method

public static IsPointInTopHalf ( ItemsControl itemsControl, System.Windows.DragEventArgs e ) : bool
itemsControl System.Windows.Controls.ItemsControl
e System.Windows.DragEventArgs
return bool
Beispiel #1
0
 private void UpdateInsertAdorner(ItemsControl itemsControl, DragEventArgs e)
 {
     if (_insertAdorner != null)
     {
         _insertAdorner.IsTopHalf = Helper.IsPointInTopHalf(itemsControl, e);
         _insertAdorner.InvalidateVisual();
     }
 }
Beispiel #2
0
 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);
         }
     }
 }
Beispiel #3
0
        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);
        }