WPF заставляет MouseDevice быть нажатым - PullRequest
8 голосов
/ 28 октября 2010

У меня есть форма окна в окне wpf, и я пытаюсь использовать DragMove, когда я нажимаю на форму окна, это картинка, поэтому я хочу иметь возможность перетаскивать окно, просто нажимая на картинку.

Я ловлю мышь своей формы и вызываю событие mouseleftbuttondown окна wpf с помощью:

if (e.Button == MouseButtons.Left)
{
    MouseDevice mouseDev = InputManager.Current.PrimaryMouseDevice;
    MouseButtonEventArgs mouseEvent = new MouseButtonEventArgs(mouseDev, 0, MouseButton.Left)
        {
            RoutedEvent = MouseLeftButtonDownEvent
        };
    RaiseEvent(mouseEvent);
}

Однако всякий раз, когда я проверяю InputManager.Current.PrimaryMouseDevice из моего обработчика (или MouseMove моей формы).обработчик), состояние LeftButton «освобождено».

Почему это?Я не могу найти способ заставить его «нажиматься», поскольку все свойства доступны только для чтения.

Или мой подход просто неверен и невозможен?Я также попытался установить местоположение моего окна при перемещении мыши, но некоторые странные вещи происходят, когда мои значения мыши продолжают возвращаться к предыдущей позиции.

Спасибо!

edit: Итак, я 'Я вручную настраиваю расположение окна, но все же надеюсь, что кто-то может объяснить мне, почему MouseDevice не нажимается на форме окна.«Странные вещи случаются ...» была просто глупой ошибкой с моей стороны, я продолжал сбрасывать координаты мыши при перемещении мыши, но понял, что моя мышь никогда не движется относительно окна, так как окно тоже движется, да!

1 Ответ

1 голос
/ 28 октября 2010

A аналогичная проблема на некоторое время озадачило меня: свойство ButtonState объекта MouseButtonEventArgs отражает состояние этой кнопки в реальном времени, а не снимок состояния, снятый при возникновении события.Интересно, верно ли то же самое в отношении вашего доступа к состоянию LeftButton.

Надеюсь, это поможет,
Бен

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