private static void DragSource_PreviewMouseMove(object sender, MouseEventArgs e) { if (_isMouseDown && IsDragGesture(e.GetPosition(CurrentDragSourceAdvisor.GetSourceTopContainer()))) { DragStarted(sender as UIElement); } }
private static void DragSource_PreviewMouseUp(object sender, MouseButtonEventArgs e) { if (_isMouseDown && IsDragGesture(e.GetPosition(CurrentDragSourceAdvisor.GetSourceTopContainer()))) { _isMouseDown = false; Mouse.Capture(null); } }
private static void DragSource_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e) { // Make this the new drag source CurrentDragSourceAdvisor = GetDragSourceAdvisor(sender as DependencyObject); if (CurrentDragSourceAdvisor.IsDraggable(e.Source as UIElement, e.GetPosition(CurrentDragSourceAdvisor.GetSourceTopContainer()))) { _draggedElt = e.Source as UIElement; _dragStartPoint = e.GetPosition(CurrentDragSourceAdvisor.GetSourceTopContainer()); _offsetPoint = e.GetPosition(_draggedElt); _isMouseDown = true; e.Handled = true; } e.Handled = false; }