WPF学习系列026: 3.3.2 路由策略和事件处理程序
2010-12-23 07:48
337 查看
路由策略是事件触发遍历整棵元素树的方式,由RoutingStrategy枚举值提供。
Tunneling(管道传递)
Bubbling(冒泡)
Direct(直接)
路由事件的事件处理程序有两个参数
System.Object对象,名为sender,是该处理程序被添加到的元素
System.EventArgs类,一般名为e,是RoutedEventArgs的一个实例,RoutedEventArgs是EventArgs的一个子类,它提供了4个有用的属性
Source:逻辑树中一开始触发该事件的元素。
OriginalSource:可视树中一开始触发该事件的元素
Handled:布尔值,设置为true表示标记事件为已处理,这就是用于停止Tunneling或Bubbling的标记。
RoutedEvent:真正的路由事件对象(如Button.ClickEvent),当一个事件处理程序同时被用于多个路由事件时,它可以有效地识别被触发的事件。
3.3.2 路由策略和事件处理程序
事件首先在根元素上被触发,然后从每一个元素向下沿着树传递,直到到达源元素为止(或者直到处理程序把事件标记为已处理为止)。
事件首先在源元素上被触发,然后从每一个元素向上沿着树传递,直到到达根元素为止(或者直到处理程序把事件标记为已处理为止)
事件仅在源元素上触发。这与普通.NET事件的行为相同。不同的是这样的事件仍然会参与一些路由事件的特定机制,如事件触发器。
Tunneling(管道传递)
Bubbling(冒泡)
Direct(直接)
路由事件的事件处理程序有两个参数
System.Object对象,名为sender,是该处理程序被添加到的元素
System.EventArgs类,一般名为e,是RoutedEventArgs的一个实例,RoutedEventArgs是EventArgs的一个子类,它提供了4个有用的属性
Source:逻辑树中一开始触发该事件的元素。
OriginalSource:可视树中一开始触发该事件的元素
Handled:布尔值,设置为true表示标记事件为已处理,这就是用于停止Tunneling或Bubbling的标记。
RoutedEvent:真正的路由事件对象(如Button.ClickEvent),当一个事件处理程序同时被用于多个路由事件时,它可以有效地识别被触发的事件。
3.3.2 路由策略和事件处理程序
事件首先在根元素上被触发,然后从每一个元素向下沿着树传递,直到到达源元素为止(或者直到处理程序把事件标记为已处理为止)。
事件首先在源元素上被触发,然后从每一个元素向上沿着树传递,直到到达根元素为止(或者直到处理程序把事件标记为已处理为止)
事件仅在源元素上触发。这与普通.NET事件的行为相同。不同的是这样的事件仍然会参与一些路由事件的特定机制,如事件触发器。
相关文章推荐
- 深入理解DOM事件机制系列第二篇——事件处理程序
- 深入理解DOM事件机制系列第二篇——事件处理程序
- 深入理解DOM事件机制系列第二篇——事件处理程序
- 加载页面或返回到页面时不触发 onload 事件处理程序
- java键盘事件处理程序
- 事件处理程序
- 事件与处理程序
- 【转】Microsoft .Net Remoting系列专题之三:Remoting事件处理全接触
- 【转载】CentsOS系统inotify实时监控服务器文件(夹)定制事件处理程序
- JavaScript 指定事件处理程序
- C#控制台程序中处理2个关闭事件的代码实例
- iOS程序之事件处理流程
- javascript中的事件处理程序(事件侦听器)
- VB.NET之旅(十四)—动态关联事件与处理程序
- jQuery-1.9.1源码分析系列(十) 事件系统——主动触发事件和模拟冒泡处理
- DOM高级程序设计笔记/事件处理程序Function.prototype添加getCallBack事件冒泡捕获
- Microsoft .Net Remoting系列专题之三 Remoting事件处理全接触
- C#事件处理程序的写法
- 探究JavaScript中的五种事件处理程序
- (C#)中断程序流程,处理事件(委托,事件,Lambda表达式)-3/3