【IT168专稿】
在上一篇文章中已经介绍了WPF的出处,形成原因,基本概念和功能等,这些内容对于读者深入了解WPF是显然不够的。为进一步加深读者理解,在本文中,笔者将首先讲解WPF的体系架构、类层次,然后介绍创建WPF应用程序的开发工具,最后通过一个简单的示例说明构建WPF应用程序的基本方法,以及WPF应用程序的编程模式。
1. 体系架构
WPF主要包括三个部分:PresentationFramework、PresentationCore和milcore。其中前两者由受管模块组成,而milcore是非受管模块。如图1显示了WPF体系架构。

图1中所示红色部分显示了构成WPF主要的组件。让我们由下向上的说明。
最底层是Kernel,它负责控制和管理与图形驱动相关的最底层任务等。在Kernel之上也是两个比较底层的模块。其中,User32负责确定显示窗口及其在屏幕中的位置状态等,其并不参与常见控件的呈现。DirectX负责呈现窗口和内容等。
milcore是WPF的核心部分,它主要起到中间人的作用,以实现WPF与DirectX的通信。再向上是.NET 3.0的公共语言运行时CLR(Common Language Runtime)。最高层是WPF的另两个核心PresentationFramework和PresentationCore,它们都是受管模块。前者主要包括WPF的窗口、面板、样式等高层WPF类型。后者主要包括WPF的一些基本类型,例如UIElement,Visual等。它们是PresentationFramework所包括元素的基类。
上文所述WPF的三个核心部分分别对应一些动态库,例如PresentationFramework.dll、PresentationCore.dll和milcore.dll。这些动态库中包含了众多实现WPF核心功能的类和命名空间。下面介绍有关的WPF类层次。