При быстром перетаскивании прямоугольного объекта перетаскивание останавливается - PullRequest
0 голосов
/ 25 ноября 2018

При быстром перетаскивании прямоугольного объекта перетаскивание останавливается, и курсор перемещается только.Не отпуская кнопку click button, перемещение курсора на объекте прямоугольника снова начинает перетаскивание.Он тянет нормально, когда я тащу с постоянной скоростью.

Мой код:

    private void ConnectorMethod()
    {
     _draggedLine = new Rectangle();
     _draggedLine.Width = 100;
     _draggedLine.Height = 12;
     _controlModel.PlayerCanvas.Children.Add(_draggedLine);
     _draggedLine.PreviewMouseLeftButtonDown += copy_Connector;
     _draggedLine.PreviewMouseLeftButtonUp += connector_leftUp;
    }

    private void copy_Connector(object sender, MouseButtonEventArgs e)
    {
        _connecting_Connector = (Rectangle)sender;
        _Connector_position = e.GetPosition(_connecting_Connector);
        _connecting_Connector.PreviewMouseMove += ConnectorMouseMove;

    }

    private void connector_leftUp(object sender, MouseButtonEventArgs e)
    {
        _connecting_Connector.PreviewMouseMove -= ConnectorMouseMove;
    }

    private void ConnectorMouseMove(object sender, MouseEventArgs e)
    {

        if (e.LeftButton == MouseButtonState.Pressed)
        {
            Point canvasRelativePosition = e.GetPosition(_controlModel.PlayerCanvas);
            Canvas.SetTop(_connecting_Connector, canvasRelativePosition.Y - _Connector_position.Y);
            Canvas.SetLeft(_connecting_Connector, canvasRelativePosition.X - _Connector_position.X);
            e.Handled = true;
        }
    }

Заранее спасибо.

1 Ответ

0 голосов
/ 15 декабря 2018

Я исправил это с помощью прямоугольника объекта canvas в

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...