Делегирование обработчика события OnMouseMove () - PullRequest
2 голосов
/ 25 августа 2011

Я пытаюсь записать в строку состояния текущее положение мыши и для этого я взял на себя обработчик события OnMouseMove (), который срабатывает, когда курсор мыши входит в мой элемент управления.Проблема в том, что в моем элементе управления есть элемент управления WPF, который имеет Dock.Fill Dockstyle, то есть он заполняет весь родительский элемент управления.

Когда я запускаю приложение, я вижу, что ничего не происходит, и положение мыши нене обновлялся, поэтому я заметил, что событие OnMouseMove () элемента управления WPF вызвано, а не событие OnMouseMove () моего элемента управления, которое содержит соответствующий код для обновления координат местоположения мыши.

Я хотел знать, есть ли способ (кроме реализации кода в обработчике события WPF OnMouseMove (), конечно), чтобы обойти обработчик события элемента управления WPF и всегда использовать обработчик события моего элемента управления.

Я надеюсь, что ябыло достаточно ясно в моем вопросе, если нет, пожалуйста, дайте мне знать, и я постараюсь уточнить.

Спасибо!

1 Ответ

1 голос
/ 25 августа 2011

попробуйте PreviewMouseMove -Версия OnMouseMove - эта должна срабатывать корректно, и вам нужно иметь какой-то фон (не нуль), иначе ваш контроллер не будет видеть мышь - так что дайте ему прозрачныйцвет или что-то)

...