路由事件的演变史

转自http://www.cnblogs.com/helloj2ee/archive/2010/09/30/1839660.html

 

      我看过此博主的多篇文章和著作,这篇文章有助于理解WPF的路由事件,我看的是PDF版,特此贴出来以飨读者。

       正如WPF在简单的.NET属性概念上添加了许多基础的东西一样,它也为.NET事件添加了许多基础的东西。路由事件是专门设计用于在元素树中使用的事件。当路由事件触发后,它可以向上或向下遍历可视树和逻辑树,用一种简单而且持久的方式在每个元素上触发,而不需要使用任何定制代码。

      事件路由让许多应用程序不去留意可视树的细节(对于样式重置来说这是很不错的),并且对于成功的WPF元素创作至关重要。例如,Button有一个Click事件,这是基于底层的MouseLeftButtonDown事件或者KeyDown事件实现的。当用户的鼠标指针位于标准按钮之上,且按下鼠标左键的时候,它们实际上是与ButtonChrome或者TextBlock可视子元素在交互。由于事件遍历了可视树,所以Button元素最终会发现这个事件,并处理该事件。类似地,对于VCR样式的Stop(停止)按钮来说,一个用户可能在Rectangle逻辑子元素上直接按下鼠标左键。由于事件遍历了逻辑树,Button元素还是会发现这个事件,并处理该事件。(如果你真的希望能够区分这个事件是Rectangle上的还是凸出的Button上的,也可以自己去区分代码。)

PDF下载地址为http://download.csdn.net/source/3406933

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值