日期:2014-05-18  浏览次数:20808 次

WPF中的隧道路由事件,有何用途!!!
WPF中的隧道路由事件(preview),书上说是可以预处理,比如,鼠标事件,先在父窗口触发鼠标事件,最后才是按钮(真正的事件源)触发


我没什么程序经验,请问,实际中,什么情况下有用,求举例,谢谢。。。。。。。

------解决方案--------------------
比如说你为Button的模板中放入一个StackPanel,其中除了有各种其它控件以外还有一个Calendar以及一个媒体播放器控件,那么用户点击Calender也就可以触发整个按钮的click 事件,用户点击电影也可以触发整个按钮的click事件。

这就是一种“从内部扩展”的思路,你可以丰富内容,而行为不变。假设你为Button添加了内容控件,结果无法触发click事件了,这不就是悲剧了嘛。这不就是winform那种难以扩展难以修改的所谓控件体系了嘛。