Prism:lazy-load视图到tabcontrol

时间:2013-10-09 19:48:36

标签: c# wpf prism tabcontrol

我正在使用Prism 4.1编写一个复合应用程序,它使用TabControl作为在应用程序主模式之间切换的方法。我现在只需导航到以TabControl区域为目标的视图,就可以将视图加载到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");

但是,视图和(更重要的是)各自的ViewModel会在应用程序启动时立即实例化,而不是在选择视图选项卡时实例化。有没有办法将Prism配置为仅在激活其选项卡时加载视图?

我尝试在单独的模块中定义视图,并使用InitializationMode.OnDemand参数加载模块,但这似乎没有任何效果;我假设这是因为RequestNavigate方法足以激活模块。

任何想法都会非常感激!

0 个答案:

没有答案