我正在使用 Prism 4.1 编写一个复合应用程序,它使用 aTabControl
作为在应用程序的主要模式之间切换的一种方式。我目前能够通过简单地导航到以区域为目标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
方法足以激活模块。
任何想法将不胜感激!