Основы проектирования интерфейсов с использованием технологии Windows Presentation Foundation. Шамшев Ан. Б. - 129 стр.

UptoLike

Составители: 

129
StackPanel и так далее до тех пор, пока не будет достигнут источник,
которым является изображение в метке.
Туннельные события имеют приставку Preview. Более того, WPF
обычно определяет поднимающиеся и туннельные события парами.
Это означает, что если существует поднимающееся событие
MouseUp, то, скорее всего, также существует туннельное событие
PreviewMouseUp. Туннельное событие всегда возникает перед подни-
мающимся событием, как показано на рис. 42:
Рис. 40. Туннельные и поднимающиеся события
Также отметим, что если пометить туннельное событие как об-
работанное, событие поднятия не возникнет. Это связано с тем, что
два события совместно используют один и тот же экземпляр класса
RoutedEventArgs.
Туннельные события будут полезны, если необходимо выпол-
нить некоторую предварительную обработку, связанную с некоторы-
ми нажатиями клавиш, или отфильтровать некоторые события мыши.
На рис. 43 показаны результаты проверки туннелирования на примере
события PreviewKeyDown. Если нажать клавишу, находясь в тексто-
вом поле, событие возникает сначала в этом поле, а затем спускается
вниз по иерархии. А если на каком-то этапе пометить событие
PreviewKeyDown как обработанное, то поднимающееся событие
KeyDown не возникнет.