WPF路由事件总结

路由事件定义

  • 路由事件是一种可以针对元素树中的多个侦听器而不是仅仅针对引发该事件的对象调用处理程序的事件,也就是说,触发事件源的父级或子级如果都有对该事件的监听,则都能触发事件

路由事件和一般事件的区别

  • 路由事件是一种用于元素树的事件,当路由事件触发后,它可以向上或向下遍历可视树和逻辑树,他用一种简单而持久的方式在每个元素上触发,而不需要任何定制的代码

路由事件的路由策略

  • 路由策略就是指:路由事件实现遍历元素的方式
  • 路由事件一般使用以下三种路由策略:
    冒泡:由事件源向上传递一直到根元素
//e包含了与事件相关的一些参数,e.Handled如果设置为True,则表示冒泡不再继续
e.Handled = true;

直接:只有事件源才有机会响应事件
隧道:从元素树的根部调用事件处理程序并依次向下深入直到事件源
一般情况下,WPF提供的输入事件都是以隧道/冒泡对实现的。隧道事件常常被称为Preview事件

总结

冒泡事件和隧道事件是相反的路由顺序,冒泡事件是自下而上直到根节点,隧道事件是自上而下,到触发的节点。

发布了69 篇原创文章 · 获赞 0 · 访问量 987

猜你喜欢

转载自blog.csdn.net/qq_21209307/article/details/105129532