Как заставить элемент управления не передавать событие щелчка вверх по дереву? WPF C # - PullRequest
2 голосов
/ 10 ноября 2008

Можно ли настроить Grid или другой контейнерный элемент управления, чтобы быть своего рода плотиной событий? Так что, когда какие-либо события, в частности, щелчок левой кнопкой мыши, начинающиеся внутри него, работают так, что останавливаются на этом элементе управления и не идут дальше?

Ответы [ 2 ]

6 голосов
/ 10 ноября 2008

PreviewMouseDown - ваш друг ...

Добавьте это событие в свой элемент управления и установите для свойства Handled значение true ...

Все события туннелируют сначала от корня к листьям в окне предварительного просмотра, затем они обрабатываются от листьев к корню в фактическом случае события ...

Таким образом, PreviewMouseDown обрабатывает сетку перед кнопкой, а событие MouseDown обрабатывает кнопку перед сеткой ...

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

1 голос
/ 10 ноября 2008

Вы должны быть в состоянии расширить любой контроль, который вы хотите (при условии, что он не запечатан). В расширенном классе вы можете переопределить событие click и проглотить его (не передавать его в базовый класс).

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