WPF中路由事件的傳播

2021-09-09 03:34:13 字數 437 閱讀 7063

路由事件(routedevent)是wpf中新增的事件,使用起來與傳統的事件差別不大,

但傳播方式是完全不同的。

通過routingstrategy來定義傳播的方式

public

enum

routingstrategy

wpf中的路由事件用的最多的就是tunnel和bubble這兩種傳播方式,所以一般路由事件都是成對出現,

如:previewmouseleftdown和mouseleftdown

注意:tunnel事件總是比bubble事件先執行,如果在tunnel事件中設定了handled = true,那麼成對的bubble事件將不會發生,因為它們共享同乙個routedeventargs類的例項,在轉播的過程中設定了handled = true, 路由事件還是會繼續傳播,只是不會執行。

WPF路由事件

c 高階程式設計第八版閱讀筆記 sender 事件的傳送者 其呼叫的事件處理器 source事件源 激發 raise 的事件 不使用路由事件的話 sender跟source是同一物件 originalsource 也是事件源 與source不同的地方在於他是原始事件源,真正的激發事件的源頭 事件的s...

WPF 路由事件

路由事件有三種方式。direct event 直接路由事件。自身元素,不傳遞。bubbling event 冒泡路由事件。從子元素到父元素傳遞。tunneling event 隧道路由事件。從父元素到子元素傳遞。1.設定handled true的時候,不管是冒泡還是隧道事件,它還是會繼續傳播的,只是...

WPF路由事件

建議大家使用工具 snoop,可以到blois.us snoop 先來了解下什麼是wpf裡的路由事件 我們建立乙個wpf應用程式,如下 using system.windows using system.windows.input namespace wpfceshi private void wi...