什么是路由事件
1、路由事件是一种可以针对元素树中的多个侦听器而不是仅仅针对引发该事件的对象调用处理程序的事件。路由事件是一个CLR事件。
2、路由事件与一般事件的区别在于:路由事件是一种用于元素树的事件,当路由事件触发后,它可以向上或向下遍历可视树和逻辑树,他用一种简单而持久的方式在每个元素上触发,而不需要任何定制的代码(如果用传统的方式实现一个操作,执行整个事件的调用则需要执行代码将事件串联起来)。
WPF 路由事件:逻辑树和可视树
一、什么是逻辑树
逻辑树就是描述WPF界面元素的实际构成,它是由程序在XAML中所有的UI元素组成。 最显著的特点就是由布局控件、或者其他常用的控件组成。
二、什么是可视树
可视树是由界面上可见的元素构成的,这些元素主要是由从Visual或者Visual3D类中派生出来的类
三、逻辑树和可视树的遍历
逻辑树遍历使用LogicalTreeHelper类、
可视树遍历使用VisualTreeHelper类、
演示遍历逻辑树和可视树
1、 XAML界面左边显示逻辑树,右边显示可视树,代码如下截图1-1:
2、 添加类,用于遍历整个XAML界面的逻辑树和可视树,代码如下截图:
逻辑树
3、在按钮的点击事件中将获取的逻辑树和可视树添加到XAML界面中,代码如下截图1-3:
图片1-3
3、 点击按钮,界面运行效果:
WPF 路由事件
最新推荐文章于 2024-03-31 09:34:27 发布