2017-07-06 86 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>