CSh*_*per 11
路由事件具有特殊行为,但如果您在引发它的元素上处理事件,则该行为在很大程度上是不可见的.
路由事件变得强大的地方是,如果您使用任何建议的方案:在公共根目录定义公共处理程序,合成您自己的控件,或定义您自己的自定义控件类.
路由事件侦听器和路由事件源不需要在其层次结构中共享公共事件.任何UIElement或ContentElement都可以是任何路由事件的事件侦听器.因此,您可以使用整个工作API集中可用的完整路由事件集作为概念"接口",从而应用程序中的不同元素可以交换事件信息.路由事件的这种"接口"概念特别适用于输入事件.
路由事件也可用于通过元素树进行通信,因为事件的事件数据会持续到路由中的每个元素.一个元素可能会更改事件数据中的某些内容,并且该更改可用于路径中的下一个元素.
除了路由方面之外,还有两个原因可以将任何给定的WPF事件实现为路由事件而不是标准CLR事件.如果您正在实施自己的活动,您可能还会考虑以下原则:
来源:MSDN:路由事件概述
| 归档时间: |
|
| 查看次数: |
5322 次 |
| 最近记录: |