WPF概述
第一章主要介绍了WPF这个系统,具体的体系结构。
首先是WPF使用的图形引擎:DirectX,以及其拥有的优势:使用GPU处理;绘图操作效率更高;拥有更复杂的纹理映射、半透明效果。同时,WPF也保留了一个User32组件用于分屏以及处理和路由输入信息。
其次,为了保证WPF可以支持不同的分辨率以及系统DPI,WPF使用了矢量图代替位图,拥有分辨率无关性。
接下来是WPF的体系结构。
顶层 | PresentationFramework.dll | PresentationCore.dll | WindowsBase.dll | WPF API |
中间层 | milcore.dll | WindowsCodes.dll | 媒体集成层 MIL | |
底层 | Direct3D |
User32 |
- PresentationFramework.dll:使用的大部分类,控件等
- PresentationCore.dll:所有的形状类和控件类,UIElement、VIsual等
- WindowBase.dll:基本要素,DespatcherObject、DependencyObject等
- milcore.dll:渲染系统的核心,将可视化元素转换成Direct3D可处理的三角形和纹理。
- WindowsCodes.dll:提供图像支持,如显示位图、JPEG图像等
然后是类的层次结构。通过WPF的核心继承树可以更好的理解整体代码的结构。
类 | DispatcherObject | DependencyObject | VIsual | UIElement | FrameworkElement |
内容 | 检查是否在线程上,调度管理 | 依赖属性特征 | 绘图支持 | 布局、输入、焦点、事件、路由、命令 | Margin等属性 |
类(布局元素) | Shape | Panel | Control | ContentControl | ItemsControl |
内容 | 形状类 | 布局容器 | 控件类(可 |