1. 程式人生 > >WPF+MVVM外掛化架構-殼

WPF+MVVM外掛化架構-殼

殼,即應用程式的載體,為了更好的降低耦合度,我們不會過多的給予殼附加過多的功能。這裡我們只需要在殼中載入兩個功能,一個是應用程式的標題,一個是應用程式的活動主題。

        1應用程式標題

應用程式的標題是必須的,也是一個應用程式所不可少的,然而我們不能把應用程式的標題寫死到程式中,因為我們的架構是需要支援可配置的,我們可以更新功能需要將所需功能的外掛組裝到一起,構成不同的系統,所以我們將從配置中獲取應用程式的標題。

下面我們將在殼的Main窗體中引用DataModel名稱空間

xmlns:MApp="clr-namespace:YeaJurSoft.App.DataModel;assembly=YeaJurSoft.App.DataModel"

然後再將應用程式標題進行繫結,如下

 Title="{BindingPath=SystemTitle,Source={x:Static MApp:MApp.Instance}}"

2.應用程式活動主體

應用程式主體,即應用程式功能實現部分。這個部分也是一個應用程式的核心部分,我們將應用程式的各個功能都徹底的分離並外掛化,在需要的時候又將他們組合載入到一個活動主體中,並將這個活動主題載入到殼中的活動主體。

在殼的Main窗體中繫結活動主體,如下

<Border>

            <UserControlContent="{Binding Path=MainWindow,Source={x:StaticMApp:MApp.Instance}}" />

 </Border>

到這裡,我們的殼就算是搭建完畢了,功能簡潔而明確。