概述
如果你在開發wpf程序,應該聽說過The Composite Application Guidance for WPF(以下簡稱prism)
總而言之,prism是幫助你開發復雜的wpf應用程序的。希望在看完此系列教程以後能對你有所幫助.
從去年正式版發布至今,將近快半年了.silverlight 2正版的推出.prism也開始支持silverlight,而且這次是同時支持wpf和silverlight.這樣便統一了wpf和silverlight的編程,代碼的移植也更加的方便.現在prism最新的版本是Prism V2 - Drop 8.相對於第一個版本發生了一些變化.本文則基於Prism V2 - Drop 8這個版本進行介紹.如果你還在用7月份的那個版本可以看周銀輝寫的教程.
以下說明三個最基礎的概念.
一.被引導的Windows窗體Shell
wpf程序在啟動時,需要一個宿主容器,一般情況下是System.Windows.Window,以下是一個剛創建的窗體.
<Window x:Class="HelloWorldSample.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Window1" Height="300" Width="300"> <Grid> </Grid> </Window>
默認情況下,System.Windows.Application會通過設置StartupUri來運行主窗體.
<Application x:Class="HelloWorldSample.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" StartupUri="Window1.xaml"> </Application>
接著隨著prism框架的加入,運行主窗體的方式改變了.因為prism要在窗體運行之前做一堆事情,來為框架可以做的事情做鋪墊.所以我們要去掉StartupUri,手動啟動窗體. prism通過一個名為Bootstrapper類作為引導程序,這裡我們先不管他做了什麼,只知道他起了程序的引導作用.
通過Bootstrapper的引導,這個窗體就不再僅僅是一個單純的窗體了,這個窗體我們也可以稱為Shell,也可以理解為一個殼的意思.