private void tryStartDrag(MouseEventArgs e, bool ignoreDistance = false) { if (!this.group && this.IsEnabled && this.isMouseDown && e.LeftButton == MouseButtonState.Pressed) { var d = e.GetPosition(null) - this.mouseDownPosition; if (!ignoreDistance) { if (Math.Abs(d.X) < SystemParameters.MinimumHorizontalDragDistance || Math.Abs(d.Y) < SystemParameters.MinimumVerticalDragDistance) { return; } } this.EntryBackColor = this.entryHoverColor; this.dragging = true; TimeEntryCellDragImposter.Start(this); DragDrop.DoDragDrop(this, new DataObject("time-entry-cell", this), DragDropEffects.Move); TimeEntryCellDragImposter.Stop(); this.dragging = false; this.EntryBackColor = idleBackColor; e.Handled = true; } this.isMouseDown = false; }
protected override void OnGiveFeedback(GiveFeedbackEventArgs e) { TimeEntryCellDragImposter.Update(); }