コード例 #1
0
        /// <summary>
        /// 更新<typeparamref name="THaveMousePositionTracker"/>的 鼠标当前位置;
        /// </summary>
        private void UpdateCurrentHoverPosition()
        {
            var destination = GetCalculatedHoverPosition(
                HaveMousePositionTracker.MousePositionTracker.CurrentHoverPosition
                );

            if (destination == null)
            {
                return;
            }

            HaveMousePositionTracker.RaisePreviewMouseMove(new MouseMoveEventArgs(destination));
        }
コード例 #2
0
        public override void Commit()
        {
            if (HaveMousePositionTracker.MousePositionTracker.LastMouseDownPosition == null || HaveMousePositionTracker.MousePositionTracker.CurrentHoverPosition == null)
            {
                return;
            }

            if (_lengthInteractionHandler.Number == null || _angleInteractionHandler.Number == null)
            {
                return;
            }
            var position = GetCalculatedHoverPosition(HaveMousePositionTracker.MousePositionTracker.CurrentHoverPosition);

            if (position == null)
            {
                return;
            }

            _internalChanging = true;
            HaveMousePositionTracker.RaisePreviewMouseDown(new MouseDownEventArgs(MouseButton.Left, position));
            _internalChanging = false;
        }