全面講解WPF體系架構(gòu)
WPF的應(yīng)用可以幫助我們實現(xiàn)以前難以想象的一些圖形界面的開發(fā)。通過對WPF的深入了解,可以知道,WPF主要包括三個部分:PresentationFramework、PresentationCore和milcore。其中前兩者由受管模塊組成,而milcore是非受管模塊。如圖1顯示了WPF體系架構(gòu)。
圖1WPF體系架構(gòu)中所示紅色部分顯示了構(gòu)成WPF主要的組件。讓我們由下向上的說明。#t#
最底層是Kernel,它負(fù)責(zé)控制和管理與圖形驅(qū)動相關(guān)的最底層任務(wù)等。在Kernel之上也是兩個比較底層的模塊。其中,User32負(fù)責(zé)確定顯示窗口及其在屏幕中的位置狀態(tài)等,其并不參與常見控件的呈現(xiàn)。DirectX負(fù)責(zé)呈現(xiàn)窗口和內(nèi)容等。
milcore是WPF的核心部分,它主要起到中間人的作用,以實現(xiàn)WPF與DirectX的通信。再向上是.NET 3.0的公共語言運行時CLR(Common Language Runtime)。最高層是WPF的另兩個核心PresentationFramework和PresentationCore,它們都是受管模塊。前者主要包括WPF的窗口、面板、樣式等高層WPF類型。后者主要包括WPF的一些基本類型,例如UIElement,Visual等。它們是PresentationFramework所包括元素的基類。
WPF體系架構(gòu)中的三個核心部分分別對應(yīng)一些動態(tài)庫,例如PresentationFramework.dll、PresentationCore.dll和milcore.dll。這些動態(tài)庫中包含了眾多實現(xiàn)WPF核心功能的類和命名空間。