private static void DragStart(UIElement source) { _isDragging = true; FrameworkElement sourceElement = _dragSource.SourceElement; sourceElement.PreviewDragEnter += _dragSource.PreviewDragEnterHandler; sourceElement.PreviewDragOver += _dragSource.PreviewDragOverHandler; sourceElement.PreviewDragLeave += _dragSource.PreviewDragLeaveHandler; DragInitializeEventArgs args = new DragInitializeEventArgs { DragStartPosition = DragStartPosition }; OnDragInitialize(source, args); if (args.Data != null) { DragDropEffects effects = System.Windows.DragDrop.DoDragDrop(source, args.Data, DragDropEffects.All); DropCompletedEventArgs dropCompletedArgs = new DropCompletedEventArgs(DragDrop.DropCompletedEvent, effects, args.Data); OnDropCompleted(source, dropCompletedArgs); } sourceElement.PreviewDragEnter -= _dragSource.PreviewDragEnterHandler; sourceElement.PreviewDragOver -= _dragSource.PreviewDragOverHandler; sourceElement.PreviewDragLeave -= _dragSource.PreviewDragLeaveHandler; FinalizeDrag(); }
private void AssociatedObject_DropCompleted(object sender, DropCompletedEventArgs e) { if (_dragVisual != null) { _dragVisual.Destroy(); _dragVisual = null; } }
private static void OnDropCompleted(UIElement element, DropCompletedEventArgs e) { element.RaiseEvent(e); if (_dragSource != null) { _dragSource.DropCompletedHandler?.Invoke(element, e); } if (_dragContextInfo != null) { _dragContextInfo.DropCompletedHandler?.Invoke(element, e); } }
private void OnDropComplete(object sender, DropCompletedEventArgs e) { }
private void AssociatedObject_OnDropComplete(object sender, DropCompletedEventArgs e) { _isMouseDown = false; }