2013-10-09 26 views
4

我使用Prism 4.1來編寫一個組合應用程序,它使用TabControl作爲在應用程序的主要模式之間切換的一種手段。我目前能夠通過簡單地導航到該視圖與TabControl區域作爲目標來加載意見到TabControl作爲單獨的標籤:Prism:惰性加載視圖到一個tabcontrol

在我Shell.xaml

<Window> 
    <Grid> 
    <TabControl prism:RegionManager.RegionName="TabRegion" /> 
    </Grid> 
</Window> 

而且在我Bootstrapper.cs,在InitializeShell()方法:

regionManager.Regions["TabRegion"].RequestNavigate("FirstTabView"); 
regionManager.Regions["TabRegion"].RequestNavigate("SecondTabView"); 
regionManager.Regions["TabRegion"].RequestNavigate("ThirdTabView"); 

然而,觀點和(更重要地)它們各自的ViewModels立即實例化應用程序啓動時,而不是當一個視圖的選項卡被選中。有沒有辦法將Prism配置爲當其標籤被激活時才加載視圖?

我試過在單獨的模塊中定義視圖,並用InitializationMode.OnDemand參數加載模塊,但這似乎沒有任何影響;我假設這是因爲RequestNavigate方法足以激活模塊。

任何想法將不勝感激!

+0

看起來像這是前面討論[這裏](http://stackoverflow.com/questions/4756657/lazy-loading-in-tabcontrols-mvvm) – bland

回答