Ejemplo n.º 1
0
 private static void ElementPreviewQueryContinueDrag(object sender, QueryContinueDragEventArgs e)
 {
     if (!e.EscapePressed)
     {
         return;
     }
     ((DependencyObject)sender).SetValue(Advent.Common.UI.DragDrop.IsDropOverPropertyKey, (object)false);
     DataObjectExtensions.DragLeave();
     Advent.Common.UI.DragDrop.dragEnterOriginalSource = (object)null;
 }
Ejemplo n.º 2
0
        private static void ElementPreviewDragLeave(object sender, DragEventArgs e)
        {
            UIElement uiElement = (UIElement)sender;

            uiElement.SetValue(Advent.Common.UI.DragDrop.IsDropOverPropertyKey, (object)false);
            POINT lpPoint;

            NativeMethods.GetCursorPos(out lpPoint);
            HitTestResult hitTestResult = VisualTreeHelper.HitTest((Visual)uiElement, uiElement.PointFromScreen(new Point((double)lpPoint.X, (double)lpPoint.Y)));

            if (hitTestResult == null || hitTestResult.VisualHit == null || hitTestResult.VisualHit != sender && !((Visual)sender).IsAncestorOf(hitTestResult.VisualHit))
            {
                DataObjectExtensions.DragLeave(e.Data);
            }
            Advent.Common.UI.DragDrop.dragEnterOriginalSource = (object)null;
        }