2017-07-06 169 views
0

我有一个WPF MVVM应用程序使用强类型的DataTemplates来表示我的视图模型的视图。这些DataTemplates在资源字典中,并自动链接到视图模型 - 标准的东西。WPF Prism - 导航无视图?

我想让Prism导航适合我的应用程序,但导航方法需要Uri作为视图,这不是MVVM的特定风格的一部分。

区域(在ContentControl上)只能导航到新的视图模型吗?

不棱镜的WPF支持这种观点,少实现

感谢

回答

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>