void WidgetMouseMoveForDragHandler(object o, MouseEventArgs e) { if ((enabledEvents & WidgetEvent.DragStarted) == 0) { return; } if (e.LeftButton != MouseButtonState.Pressed) { return; } if (DragDropInfo.DragRect.IsEmpty) { SetupDragRect(e); } if (DragDropInfo.DragRect.Contains(e.GetPosition(Widget))) { return; } DragStartData dragData = null; Context.InvokeUserCode(delegate { dragData = eventSink.OnDragStarted(); }); if (dragData != null) { DragStart(dragData); } DragDropInfo.DragRect = Rect.Empty; }