WPF架构

  从WPF的代码结构上来看,WPF分为托管代码和非托管代码,分别分居在WPF的表层和底层,托管代码通常是用户的界面管理线程,而非托管代码是用户的不可接触到的渲染线程。

  WPF主要包括三个部分:PresentationFramework、PresentationCore和milcore。其中前两者由受管模块组成,而milcore是非受管模块。

    

  最底层是Kernel,它负责控制和管理与图形驱动相关的最底层任务等。在Kernel之上也是两个比较底层的模块。其中,User32负责确定显示窗口及其在屏幕中的位置状态等,其并不参与常见控件的呈现。DirectX负责呈现窗口和内容等。

  milcore是WPF的核心部分,它主要起到中间人的作用,以实现WPF与DirectX的通信。再向上是.NET 3.5的公共语言运行时CLR(Common Language Runtime)。最高层是WPF的另两个核心PresentationFramework和PresentationCore,它们都是受管模块。前者主要包括WPF的窗口、面板、样式等高层WPF类型。后者主要包括WPF的一些基本类型,例如UIElement,Visual等。它们是PresentationFramework所包括元素的基类。

  WPF体系架构中的三个核心部分分别对应一些动态库,例如PresentationFramework.dll、PresentationCore.dll和milcore.dll。

posted @ 2011-06-15 22:57  flute  阅读(551)  评论(0编辑  收藏  举报