WPF体系结构
WPF的基础的体系结构,所引用的Assembly如下图所示:
关系图中的PresentationFramework、PresentationCore 和 milcore是 WPF 的主要代码部分。在这些组件中,只有一个是非托管组件 – milcore。milcore 是以非托管代码编写的,目的是实现与 DirectX 的紧密集成。WPF 中的所有显示是通过 DirectX 引擎完成的,可实现高效的硬件和软件呈现。WPF 还要求对内存和执行进行精确控制。milcore 中的组合引擎受性能影响关系大,需要放弃 CLR 的许多优点来提高性能。
在WPF中常用的的控件类继承结构如下图所示:
- System.Object类:在.Net中所有类型的根类型
- System.Windows.Threading.DispatcherObject类:WPF 中的大多数对象是从 DispatcherObject 派生的,这提供了用于处理并发和线程的基本构造。WPF 基于调度程序实现的消息系统。
- System.Windows.DependencyObject类:表示一个参与依赖项属性系统的对象。
- System.Windows.Media.Visual类:为 WPF 中的呈现提供支持,其中包括命中测试、坐标转换和边界框计算。
- System.Windows.UIElement类:UIElement 是 WPF 核心级实现的基类,该类建立在 Windows Presentation Foundation (WPF) 元素和基本表示特征基础上。
- System.Windows.FrameworkElement类:为 Windows Presentation Foundation (WPF) 元素提供 WPF 框架级属性集、事件集和方法集。此类表示附带的 WPF 框架级实现,它是基于由UIElement定义的 WPF 核心级 API 构建的。
- System.Windows.Controls.Control类:表示 用户界面 (UI) 元素的基类,这些元素使用 ControlTemplate 来定义其外观。
- System.Windows.Controls.ContentControl类:表示包含单项内容的控件。
- System.Windows.Controls.ItemsControl类:表示一个可用于呈现项的集合的控件。
- System.Windows.Controls.Decorator类:提供在单个子元素(如 Border 或 Viewbox)上或周围应用效果的元素的基类。
- System.Windows.Controls.Image类:表示显示图像的控件。
- System.Windows.Controls.MediaElement类:表示包含音频和/或视频的控件。
- System.Windows.Controls.Panel类:为所有 Panel 元素提供基类。使用 Panel 元素在 Windows Presentation Foundation (WPF) 应用程序中放置和排列子对象。
- System.Windows.Sharps.Sharp类:为 Ellipse、Polygon 和 Rectangle 之类的形状元素提供基类。
- System.Windows.Controls.Control类:表示 用户界面 (UI) 元素的基类,这些元素使用 ControlTemplate 来定义其外观。
详细的有关WPF的控件类及其使用请参考MSDN文档。
详细一些的WPF控件类的继承关系请下载。