WPF Prism - 没有视图的导航?

时间:2017-07-06 11:30:53

标签: wpf prism

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

我想将Prism导航适用于我的应用程序,但导航方法需要视图的Uri,这不是MVVM特定样式的一部分。

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

WPF的Prism是否支持这种无视图实现

由于

1 个答案:

答案 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>