WPF中路由事件的传播
路由事件(RoutedEvent)是WPF中新增的事件,使用起来与传统的事件差别不大,
但传播方式是完全不同的。
路由事件的传播方式
通过RoutingStrategy来定义传播的方式
public enum RoutingStrategy{Tunnel = 0, //隧道,由顶层元素向内传播,事件一般以Preview开头Bubble = 1, //冒泡,与隧道相反,向外传播Direct = 2, //直接,与传统的事件相似}
WPF中的路由事件用的最多的就是Tunnel和Bubble这两种传播方式,所以一般路由事件都是成对出现,
如:PreviewMouseLeftDown和MouseLeftDown
注意:Tunnel事件总是比Bubble事件先执行,如果在Tunnel事件中设置了Handled = true,那么成对的Bubble事件将不会发生,因为它们共享同一个RoutedEventArgs类的实例,在转播的过程中设置了Handled = true, 路由事件还是会继续传播,只是不会执行。
更多更详细的内容请参考:
WPF快速入门系列(3)——深入解析WPF事件机制
WPF中路由事件的传播相关推荐
- WPF中的事件及冒泡事件和隧道事件(预览事件)的区别
WPF 的采取了路由事件机制,这样事件可以在可视树上层级传递.要知道 XAML 中控件都是由很多其他元素组合而成,比如我们单击了 Button 内部的 TextBlock 元素,Button 依然可以 ...
- WPF Demo18 路由事件
using System.Windows;namespace 路由事件2 {public class Student{声明并定义路由事件//public static readonly RoutedE ...
- wpf中键盘事件中KeyPressEventArgs.Handled 的用法(解决键盘事件默认操作)
KeyPressEventArgs.Handled 属性 (键盘的默认操作就是改变焦点,键盘方法需要为控件设置焦点) 获取或设置一个值,该值指示是否处理过 KeyPress 事件. 属性值类型:Sys ...
- 了解 WPF 中的路由事件和命令
目录 路由事件概述 WPF 元素树 事件路由 路由事件和组合 附加事件 路由命令概述 操作中的路由命令 命令路由 定义命令 命令插入 路由命令的局限 避免命令出错 超越路由命令 路由处理程序示例 要想 ...
- WPF中的路由事件(转)
出处:https://www.cnblogs.com/JerryWang1991/archive/2013/03/29/2981103.html 最近因为工作需要学习WPF方面的知识,因为以前只关注的 ...
- WPF中MsgBox的弹出会中断路由事件的传递
在WPF的Tunnel(Preview)路由事件中用MessageBox.Show弹出对话框后,会中断后续的Bubbling事件.根据MSFT的解释是,MessageBox弹出时获取到了焦点,导致路由 ...
- WPF 学习笔记 路由事件
1. 可传递的消息: WPF的UI是由布局组建和控件构成的树形结构,当这棵树上的某个节点激发出某个事件时,程序员可以选择以传统的直接事件模式让响应者来响应之,也可以让这个事件在UI组件树沿着一定的方向 ...
- WPF系列学习之三(路由事件)
路由事件实际上以一上 列三种方式出现. 1.与普通的.net事件类似的直接路由事件.它们起源于一个元素,并且不传递给其他元素.例如:MouseEnter事件. 2.在包含层次中向上传递 ...
- WPF,Silverlight与XAML读书笔记第八 - WPF新概念之三路由事件
说明:本系列基本上是<WPF揭秘>的读书笔记.在结构安排与文章内容上参照<WPF揭秘>的编排,对内容进行了总结并加入一些个人理解. 路由事件是专门设计用于在元素树中使用的事件. ...
最新文章
- 数据、人工智能和传感器按COVID-19新冠流感排列
- javascript设计模式与开发实践(二)- 封装和原型模式
- 学习《Flask Web开发:基于Python的Web应用开发实战》分享
- 进入保护模式(四)设置一些公用的方法
- Linux_ppc下软件包安装,Linux下软件包安装详解
- 自己动手架设linux下Web服务器(图)6
- 何恺明团队最新研究:3D目标检测新框架VoteNet,两大数据集刷新最高精度
- 2017.5.2AM
- IT巨头埃森哲遭 LockBit 勒索攻击,黑客威胁泄露数据
- Android 退出app,后台推送的服务也停止了,怎么可以做到不停止后台服务呢?
- Vb6 Modbus TCP通讯示例源代码
- ICML2022论文解读『Sparse Double Descent: Where Network Pruning Aggravates Overfitting』
- 一种提取HTML网页正文的方法
- PAT编程(python) 1004 成绩排名
- 6-9 计算捐款总量 (10 分)
- 人到中年这种茶要多喝,越喝血管越干净!坚持一个月,头晕眼花不再来!
- 长沙鸿蒙置业楼盘,来了!来了!湖南金融中心北中心,全新盘规划公示!刚需户型为主!...
- simulink仿真控制代数环问题
- 我的压箱底,500G视频网盘分享
- 解决Tuxera试用过期重装问题
热门文章
- ASP.NET Core 入门教程 8、ASP.NET Core + Entity Framework Core 数据访问入门
- hibernate联合主键 注解方式
- linux_iptables 详解
- 使用 IntraWeb (39) - THttpRequest、THttpReply
- 条件运算符和条件表达式
- java避免空指针异常
- HBase中的MemStore
- BroadcastChannel页面间通讯
- flash player for linux 64,64-bit linux下装什么adobe flash player
- Exceptions Errors - 异常与错误