wpf 类层次结构Class Hierarchy

1.DispatcherObject类表示具有相关联的对象分派器调度程序处理要在特定线程上执行工作的请求队列。它能够在其关联的线程上调用方法。

DispatcherObject是对象的基类,用于跟踪与创建它们的线程关联Dispatcher

WPF控件继承自DispatcherObject,因为它们需要从创建它们的线程调用它们的方法。

DispatcherObject有两个方法可以帮助确保从正确的线程调用控件的方法。

  • CheckAccess - 检查当前线程是否可以调用控件上的方法
  • VerifyAccess - 如果没有访问权限,则抛出InvalidOperationException

如果控件确定当前线程没有访问权限,则可以使用其Dispatcher属性(也在DispatcherObject中)在正确的线程上调用方法。

2.DependencyObject是支持依赖项属性的类的基类。

WPF中的依赖项属性类似于标准CLR属性,但功能更强大。依赖属性:

  • 从许多不同来源中的一个获取它们的值
  • 支持属性值的继承
  • 属性值更改时的支持通知

如果一个类派生自DependencyObject,那么该类可以注册自己的依赖项属性并调用方法来获取/设置其依赖项属性的值。

3.Visual是表示可以呈现给WPF窗口或页面的对象的所有类的基类。它为命中测试,剪切和坐标转换提供支持,并为窗口或页面呈现自身。它还通过VisualParent属性和GetVisualChild方法模拟对象在WPF可视化树中的参与

视觉类也可用于实现新的(轻量)WPF控制的起始点。

猜你喜欢

转载自www.cnblogs.com/Chary/p/9510204.html