private bool CanDrop(DragEventArgs e) { IDropTargetProvider dropTargetProvider = DropTargetProvider(e); if (dropTargetProvider != null) { return(dropTargetProvider.DropTarget.AllowDrop( (e.Data as System.Windows.DataObject).GetFileDropList()[0])); } return(false); }
public DropTypes[] DropTypeByPosition(Point p) { DependencyObject child = VisualTreeHelper.HitTest(Root, p).VisualHit; IDropTargetProvider dropTarget = WpfUtils.FindVisualParents <FrameworkElement>(child) .Where(n => n.DataContext is IDropTargetProvider) .Select(n => n.DataContext as IDropTargetProvider).FirstOrDefault(); if (Object.ReferenceEquals(dropTarget, null)) { return(new DropTypes[] { }); } else { return(dropTarget.DropTarget.SupportedTypes); } }