/// <summary> /// Gets invoked when drag helper detects that a drag source has been dragged far enough /// for drag operation to initiate. If this method is overriden, deriving class must ensure /// that base implementation is invoked. /// </summary> protected virtual void DoDragDrop() { var eventArgs = new QueryDragDataEventArgs(_clickPoint); OnQueryDragData(eventArgs); if (eventArgs.IsCancelled || eventArgs.DragData == null) { return; } OnDragStarted(eventArgs.DragData); _adorner = new DragDropAdorner(_dragSource, _clickPoint); DragDropEffects result = DragDrop.DoDragDrop( _dragSource, eventArgs.DragData, DragDropEffects.Move | DragDropEffects.Link); _adorner.RemoveAdorner(); _adorner = null; OnDragComplete(eventArgs.DragData, result); }
/// <summary> /// Gets invoked when drag helper detects that a drag source has been dragged far enough /// for drag operation to initiate. If this method is overriden, deriving class must ensure /// that base implementation is invoked. /// </summary> protected virtual void DoDragDrop() { var eventArgs = new QueryDragDataEventArgs( _clickPoint ); OnQueryDragData( eventArgs ); if( eventArgs.IsCancelled || eventArgs.DragData == null ) return; OnDragStarted( eventArgs.DragData ); _adorner = new DragDropAdorner( _dragSource, _clickPoint ); DragDropEffects result = DragDrop.DoDragDrop( _dragSource, eventArgs.DragData, DragDropEffects.Move | DragDropEffects.Link ); _adorner.RemoveAdorner(); _adorner = null; OnDragComplete( eventArgs.DragData, result ); }