WPF学习01——体系结构
2012-10-28 17:22
183 查看
关系图中的PresentationFramework、PresentationCore 和 milcore是 WPF 的主要代码部分。在这些组件中,只有一个是非托管组件– milcore。milcore是以非托管代码编写的,目的是实现与DirectX 的紧密集成。WPF中的所有显示是通过 DirectX 引擎完成的,可实现高效的硬件和软件呈现。WPF还要求对内存和执行进行精确控制。milcore中的组合引擎受性能影响关系大,需要放弃CLR 的许多优点来提高性能
WPF基本控件集合的类层次结构
WPF类层次中主要包括:
System.Threading.DispatcherObject、
System.Windows.DependencyObject、
System.Windows.Media.Visual、
System.Windows.UIElement、
System.Windows.FrameworkElement
System.Windows.Controls.Control。
这些内容与PresentationFramework、PresentationCore有关,其中FrameworkElement和Control属于PresentationFramework,其余的类属于PresentationCore。
下面简单说明一下这些类,建议读者在了解类的同时,要注意它们之间的交互关系:
System.Threading.DispatcherObject WPF中有许多类继承自DispatcherObject,DispatcherObject提供了处理同步和并发的基本构造。WPF建立在dispatcher提供的消息系统之上。它的工作方式很像win32中的消息泵;事实上,WPF的dispatcher使用User32消息来实现线程间调用。
System.Windows.DependencyObject 构建WPF的一个主要思想是属性优先于方法和事件。属性是声名性的,并且能够更方便实现开发人员。WPF提供了丰富的属性系统,其核心是DependencyObject。它的基础是属性表达式。属性系统提供对属性的稀疏保存。
System.Windows.Media.Visual Visual是一个抽象类,每个FrameworkElement对象都必须继承该类。该类的主要作用是为WPF提供呈现支持,主要包括输出显示,坐标转换,区域剪切等。以用户界面控件(例如Button,TextBox)为例,这些控件都继承Visual类,并使用该类定义的属性实现所呈现数据的持久化。
System.Windows.UIElement UIElement是构建WPF元素和基本呈现特征的基类。该类继承自Visual类,其中定义很多与输入和焦点有关的特性,例如键盘事件,鼠标和笔输入。同时,该类还包括一些与WPF事件模型有关的API。
System.Windows.FrameworkElement FrameworkElement类是连接Framework层次类与Core层次类的连接点。该类不仅继承了UIElement类,而且还添加了一些功能,例如,布局定义、逻辑树、对象生命周期事件、支持数据绑定和动态资源引用、支持样式和动画。
System.Windows.Controls.Control Control是创建自定义应用程序控件的基类。开发人员可通过重写Control类所提供的属性,方法,事件等,为自定义控件添加自定义逻辑。
相信以上内容对于读者了解WPF类会有一定帮助,但是只了解这些是显然不够的。作为一名合格WPF开发人员,必须熟悉其他细小,更为常用的WPF类。
WPF基本控件集合的类层次结构
WPF类层次中主要包括:
System.Threading.DispatcherObject、
System.Windows.DependencyObject、
System.Windows.Media.Visual、
System.Windows.UIElement、
System.Windows.FrameworkElement
System.Windows.Controls.Control。
这些内容与PresentationFramework、PresentationCore有关,其中FrameworkElement和Control属于PresentationFramework,其余的类属于PresentationCore。
下面简单说明一下这些类,建议读者在了解类的同时,要注意它们之间的交互关系:
System.Threading.DispatcherObject WPF中有许多类继承自DispatcherObject,DispatcherObject提供了处理同步和并发的基本构造。WPF建立在dispatcher提供的消息系统之上。它的工作方式很像win32中的消息泵;事实上,WPF的dispatcher使用User32消息来实现线程间调用。
System.Windows.DependencyObject 构建WPF的一个主要思想是属性优先于方法和事件。属性是声名性的,并且能够更方便实现开发人员。WPF提供了丰富的属性系统,其核心是DependencyObject。它的基础是属性表达式。属性系统提供对属性的稀疏保存。
System.Windows.Media.Visual Visual是一个抽象类,每个FrameworkElement对象都必须继承该类。该类的主要作用是为WPF提供呈现支持,主要包括输出显示,坐标转换,区域剪切等。以用户界面控件(例如Button,TextBox)为例,这些控件都继承Visual类,并使用该类定义的属性实现所呈现数据的持久化。
System.Windows.UIElement UIElement是构建WPF元素和基本呈现特征的基类。该类继承自Visual类,其中定义很多与输入和焦点有关的特性,例如键盘事件,鼠标和笔输入。同时,该类还包括一些与WPF事件模型有关的API。
System.Windows.FrameworkElement FrameworkElement类是连接Framework层次类与Core层次类的连接点。该类不仅继承了UIElement类,而且还添加了一些功能,例如,布局定义、逻辑树、对象生命周期事件、支持数据绑定和动态资源引用、支持样式和动画。
System.Windows.Controls.Control Control是创建自定义应用程序控件的基类。开发人员可通过重写Control类所提供的属性,方法,事件等,为自定义控件添加自定义逻辑。
相信以上内容对于读者了解WPF类会有一定帮助,但是只了解这些是显然不够的。作为一名合格WPF开发人员,必须熟悉其他细小,更为常用的WPF类。
相关文章推荐
- Wpf体系结构的学习
- [转载] WPF实例学习 (A-01)
- 01_Oracle体系结构_个人学习小结
- WPF学习01——新的图形引擎DirectX
- 学习WPF的总结(1)WPF来源和体系结构
- WPF学习01——高级API
- WPF实例学习(A-01)
- WPF实例学习(A-01)
- WPF学习笔记(01) - 准备起航
- WPF学习01——分辨率的无关性
- 学习 Kotlin 01
- [Practical.Vim(2012.9)].Drew.Neil.Tip01 学习摘要
- WPF学习笔记——DataContext 与 ItemSource
- Struts2学习笔记-01
- WPF 学习笔记 - 8. Binding (1)
- 学习WPF——元素绑定
- cocos2d-x学习笔记01:VS开发环境搭建
- Oracle 9i & 10g编程艺术-深入数据库体系结构-学习笔记(持续更新中)
- WPF学习总结和记录(四)Items控件下
- Linux_AMD体系结构学习(内存模型)