我有一个使用强类型DataTemplates的WPF MVVM应用程序来表示我的视图模型的视图。这些DataTemplates在资源字典中,并自动链接到视图模型 - 标准内容。
我想将Prism导航适用于我的应用程序,但导航方法需要视图的Uri,这不是MVVM特定样式的一部分。
区域(在ContentControl上)是否只能导航到新的视图模型?
WPF的Prism是否支持这种无视图实现
由于
答案 0 :(得分:1)
您可以使用RegisterTypeForNavigation
方法为具有唯一名称的导航注册视图模型类型,例如在引导程序类中:
Container.RegisterTypeForNavigation<ViewAViewModel>("a");
然后,您应该可以使用此名称导航到它:
regionManager.RequestNavigate("YourRegionName", "a");
视图将使用DataTemplates
照常解决,例如:
<ContentControl prism:RegionManager.RegionName="YourRegionName">
<ContentControl.Resources>
<DataTemplate DataType="{x:Type viewModels:ViewAViewModel}">
<views:ViewA/>
</DataTemplate>
</ContentControl.Resources>
</ContentControl>