您的位置:首页 > 其它

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事件的行为相同。不同的是这样的事件仍然会参与一些路由事件的特定机制,如事件触发器。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: