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”?