wpf路由事件
来源:互联网 发布:淘宝比较好的假发店 编辑:程序博客网 时间:2024/05/22 00:32
什么是路由事件?
功能定义:路由事件是一种可以针对元素树中的多个侦听器(而不是仅针对引发该事件的对象)调用处理程序的事件。
实现定义:路由事件是一个 CLR 事件,可以由 RoutedEvent 类的实例提供支持并由 Windows Presentation Foundation (wpf) 事件系统来处理。
为什么使用路由事件?
作为应用程序开发人员,您不需要始终了解或关注正在处理的事件是否作为路由事件实现。路由事件具有特殊的行为,但是,如果您在引发该行为的元素上处理事件,则该行为通常会不可见。
如果您使用以下任一建议方案,路由事件的功能将得到充分发挥:在公用根处定义公用处理程序、合成自己的控件或者定义您自己的自定义控件类。
路由事件侦听器和路由事件源不必在其层次结构中共享公用事件。任何 UIElement 或 ContentElement 可以是任一路由事件的事件侦听器。因此,您可以使用在整个工作 API 集内可用的全套路由事件作为概念“接口”,应用程序中的不同元素凭借这个接口来交换事件信息。路由事件的这个“接口”概念特别适用于输入事件。
路由事件还可以用来通过元素树进行通信,因为事件的事件数据会永存到路由中的每个元素中。一个元素可以更改事件数据中的某项内容,该更改将对于路由中的下一个元素可用。
之所以将任何给定的 WPF 事件作为路由事件实现(而不是作为标准 CLR 事件实现),除了路由方面的原因,还有两个其他原因。如果您要实现自己的事件,则可能也需要考虑这两个因素:
某些 WPF 样式和模板功能(如 EventSetter 和 EventTrigger)要求所引用的事件是路由事件。前面提到的事件标识符方案就是这样的。
路由事件支持类处理机制,类可以凭借该机制来指定静态方法,这些静态方法能够在任何已注册的实例程序访问路由事件之前,处理这些路由事件。这在控件设计中非常有用,因为您的类可以强制执行事件驱动的类行为,以防它们在处理实例上的事件时被意外禁止。
- WPF:路由事件
- wpf路由事件
- WPF路由事件
- WPF 路由事件
- WPF之路由事件
- WPF中的路由事件
- WPF学习--路由事件
- WPF路由事件
- WPF笔记-路由事件
- WPF自定义路由事件
- wpf 理解路由事件
- WPF自定义路由事件
- WPF基础之路由事件
- WPF路由事件的学习
- WPF 路由事件 Event Routing
- WPF基础路由事件学习
- WPF学习之路由事件
- WPF路由事件学习笔记
- 学习求职用到的技术ing
- C++容器与迭代器
- sprintf函数和 fprintf函数
- python 序列组合
- 体验在终端——参加2012年移动开发者大会有感
- wpf路由事件
- 硬盘分区原理及操作系统启动过程(总结自鸟哥Linux私房菜)
- javascript控制table的style属性
- 哈夫曼编码简介
- Unity3D socket
- RAID入门一页通,最全的RAID技术、原理在线图解
- C#--第八周实验--任务5和7--实验DateTime类和TimeSpan类,并实验string类各种方法
- SVM入门
- 【OpenCV】SIFT原理与源码分析:方向赋值