/// <summary> /// Begins to track the mouse to detect mouse movement to start deferred drag and drop operations /// </summary> private void StartOrTrackMouseToStart() { if (_definition is ImmediateDragDefinition) { // enqueue in UI thread to make sure the whole fluent setup has been executed before. SourceControl.BeginInvoke(() => Start(_definition.Effect)); } else { _initialPosition = Control.MousePosition; SourceControl.MouseMove += SourceControl_MouseMove; SourceControl.MouseUp += SourceControl_MouseUp; } }