private DragDropEffects RaiseDragEvent(Interactive target, IInputElement inputRoot, Point point, RoutedEvent <DragEventArgs> routedEvent, DragDropEffects operation, IDataObject data) { if (target == null) { return(DragDropEffects.None); } var args = new DragEventArgs(routedEvent, data, target, inputRoot.TranslatePoint(point, target)) { RoutedEvent = routedEvent, DragEffects = operation }; target.RaiseEvent(args); return(args.DragEffects); }