События PreviewMouseRightButtonDown vs. MouseRightButtonDown
Когда мы предполагаем использовать событие PreviewMouseRightButtonDown вместо MouseRightButtonDown при обработке событий правой кнопки мыши? Пожалуйста, уточните простоту использования.
2 ответа
Там нет никакой разницы между обработкой PreviewMouseRightButtonDown
а также MouseRightButtonDown
события, кроме времени, когда каждый из них вызывается. Туннелирование (Preview...
) события всегда вызываются перед соответствующими событиями Bubbling.
Однако @nit является правильным... есть много письменной информации, относящейся к этому онлайн, и поэтому не стоит снова писать об этом здесь. Ознакомьтесь с разделом Входные события WPF на странице Обзор маршрутизируемых событий в MSDN для получения дополнительной информации.
События предварительного просмотра - это туннелирующие события, т.е. они туннелируют через родителя к исходному дочернему элементу (где событие фактически произошло). В то время как другие являются Bubbling событиями, т.е. они пузыриваются от происхождения потомка к родителю.
чтобы понять это, вы должны понимать пузыри и туннелирование событий в wpf. Есть много статей на эту тему, например, http://www.codeproject.com/Articles/464926/To-bubble-or-tunnel-basic-WPF-events