2021-12-12 WPF面试题 描述下WPF对象完整的层次结构?

Posted 微软MVP Eleven

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2021-12-12 WPF面试题 描述下WPF对象完整的层次结构?相关的知识,希望对你有一定的参考价值。

描述下WPF对象完整的层次结构?

  • Object: 由于 WPF 是使用 .NET 创建的,因此 WPF UI 类继承的第一个类是 .NET 对象类。
  • Dispatcher: 一个抽象基类,用于绑定到一个线程上的类。与Windows窗体类似,WPF也要求仅从创建线程中调用方法和属性。WPF应用程序使用为人熟知的单线程亲和(Single-Thread Affinity,STA)模型,这意味着整个用户界面由单个线程拥有。从另一个线程与用户界面进行交互是不安全的。通过继承自DispathcerObject类,用户界面中的每个元素都可以检查代码是否在正确的线程上运行,并能通过访问调度程序为用户界面线程封送代码。
  • Dependency: 所有支持依赖属性的类的基类。依赖属性可以依赖其他输入,例如主题和用户喜好。依赖属性与数据绑定,动画,资源和样式一起使用。
  • Visual: 所有可见元素的基类都是Visual。这个类包含点击测试和转换等特性
  • UI Element: 所有需要基本显示功能的WPF元素的抽象基类是UIElement。这个类提供了鼠标移动,拖放,按键的通道和起泡事件;提供了可以由派生类重写的虚显示方法;以及布局方法。WPF不再使用Window句柄,这个类就可以用Window句柄
  • FrameworkElement: FrameworkElement派生自基类UIElement,实现了由基类定义的方法的默认代码

最后,所有 WPF 控件 textbox 、 button 、 grids 以及可以从 WPF 工具箱中想到的任何内容都继承自FrameworkElement类。

以上是关于2021-12-12 WPF面试题 描述下WPF对象完整的层次结构?的主要内容,如果未能解决你的问题,请参考以下文章

2021-12-12 WPF面试题 相对于Winform,WPF有什么优势?

2021-12-12 WPF面试题 XAML 文件中的 xmlns 是什么?

2021-12-12 WPF面试题 我们什么时候应该使用“x:name”和“name”?

2022-03-07 WPF面试题 描述下WPF的总体架构?

2021-11-26 WPF面试题 简单描述下WPF的样式

2022-03-17 WPF面试题 WPF中的x:Name和Name属性之间有什么区别?