/// <summary> /// Attaches (= forces) a Drag&Drop operation to the specified element. /// </summary> /// <param name="e">Element to Drag&Drop</param> /// <param name="dragPosition">Drag position</param> /// <param name="position">Current position. Defaults to dragPosition, if null.</param> /// <param name="fireInitialBegin">Forces a initial Drag event to be fired, if set to true.</param> public static void Attach(FrameworkElement e, Point dragPosition, Point?position = null, bool fireInitialBegin = false) { if (Mouse.LeftButton != MouseButtonState.Pressed) { throw new InvalidOperationException(); } var state = new InProcessDragDropBehavior { Target = e }; state.Attach(dragPosition, position, fireInitialBegin); }
/// <summary> /// Initiates a Drag&Drop operation on this way point. /// </summary> /// <param name="dragPosition"></param> /// <param name="position"></param> public void BeginDrag(Point dragPosition, Point?position = null) { InProcessDragDropBehavior.Attach(this, dragPosition, position); }
/// <summary> /// Initiates a Drag&Drop operation on this way point. /// </summary> /// <param name="dragPosition"></param> /// <param name="position"></param> public void BeginDrag(System.Windows.Point dragPosition, System.Windows.Point?position = null) { InProcessDragDropBehavior.Attach(this, dragPosition, position); }