久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Prism學(xué)習(xí)(6)---Shell Region View

 幻靈姬風(fēng) 2012-07-21

有幾天沒有寫博客了. 清明節(jié)??! 在上一章的例程中通過Prism實(shí)現(xiàn)了Silverlight控件的簡單加載。今天繼續(xù)來個(gè)更復(fù)雜一點(diǎn)的,。

 

在Prism中有四個(gè)非常重要的對象: bootstrapper, shell. region, view,。 bootstrapper在之前的章節(jié)中經(jīng)常有用到,它作為一個(gè)啟動(dòng)器,,用于系統(tǒng)的初始化工作,。對于shell,個(gè)人理解,,Shell就是系統(tǒng)的主界面,,或者說,他是所有UI的容器,。 Shell 里面一般都會(huì)有一個(gè)或多個(gè)Region,。 Shell與Region的組合,在網(wǎng)上有人將它們與asp.net中的母板頁做類比,。這樣類比很好,,也確實(shí)差不多,Region的作用,,跟網(wǎng)頁中的 iframe差不多,。只是Region中加載的是View,View就是一個(gè)用戶控件,。我將在下面的例程中一一講述,。

 

 還是在上一章的例程中進(jìn)行修改:

1. 刪除解決方案中所有跟UIService相關(guān)的東東, 然后,在ModuleB項(xiàng)目中添加兩個(gè)用戶控件.在ModuleA項(xiàng)目添加一個(gè)用戶控件,。

2, 在SLDemoApplication項(xiàng)目中添加一個(gè)用戶控件,,取名為Shell.xaml。這個(gè)用戶控件將作為主窗體,,在這里,,我們稱之為 Shell(上面講到的,所有控件的容器,。)

3, 在Shell 中添加兩個(gè)容器,,代碼如下:

復(fù)制代碼
 1     <Grid x:Name="LayoutRoot" Background="White">
 2 
 3         <Grid.ColumnDefinitions>
 4             <ColumnDefinition/>
 5             <ColumnDefinition/>
 6         </Grid.ColumnDefinitions>
 7 
 8         <ItemsControl 
 9             regions:RegionManager.RegionName="ListRegion"/>
10 
11         <ContentControl Grid.Column="1" 
12             regions:RegionManager.RegionName="MainRegion"/>
13    </Grid>
復(fù)制代碼

4. 分別在這兩個(gè)項(xiàng)目中的Module類,使用RegionManager 將用戶控件關(guān)聯(lián)到Region上,。方法見如下的代碼:

復(fù)制代碼
 1     public class TextServiceModule: IModule 

 2     {
 3         IUnityContainer container;
 4         RegionManager regionManager;
 5 
 6         public TextServiceModule(IUnityContainer container, RegionManager regionManager)
 7         {
 8             this.container = container;
 9             this.regionManager = regionManager;
10         }
11         public void Initialize()
12         {
13             RegisterServices();
14             RegisterViews();
15         }
16         private void RegisterServices()
17         {
18             container.RegisterType<ITextService, TextService>();
19         }
20         private void RegisterViews()
21         {
22             regionManager.RegisterViewWithRegion("ListRegion"typeof(ModuleAViewOne));
23             regionManager.RegisterViewWithRegion("ListRegion"typeof(ModuleAViewTwo));
24         }
25     }

復(fù)制代碼


通過以上簡單的幾步,, 就完成了用戶控件的自動(dòng)加載,并且是可插拔的加載!現(xiàn)在太晚了,,關(guān)于在View中應(yīng)用MVVM的部分就不說了,,代碼里面有。

 

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多