private void DetachAdorners() { if (myDropAdorner != null) { myDropAdorner.Dispose(); myDropAdorner = null; } if (myDragAdorner != null) { myDragAdorner.Dispose(); myDragAdorner = null; } }
private void InitializeDropAdorner(ItemsControl itemsControl, DragEventArgs e) { if (myDropAdorner == null) { var adornerLayer = AdornerLayer.GetAdornerLayer(itemsControl); UIElement itemContainer = UIHelpers.GetItemContainerFromPointInItemsControl(itemsControl, e.GetPosition(itemsControl)); if (adornerLayer != null && itemContainer != null) { bool isPointInTopHalf = IsDropPointBeforeItem(itemsControl, e); bool isOrientationHorizontal = (this.DropIndication == Orientation.Horizontal); myDropAdorner = new DropAdorner(isPointInTopHalf, isOrientationHorizontal, itemContainer, adornerLayer); } } }