为WPF自定义导航创建容器

时间:2011-11-01 18:19:13

标签: wpf navigation prism navigationservice

我有一个应用程序,其中有一个小面板需要支持浏览器,如导航,如后退,前进和主页。因此,它还需要保存用户已经去过的面板的历史。我不认为我可以使用NavigationWindow,因为只有一小部分窗口会支持导航。

这样做的最佳做法是什么?我一直在看NavigationService和导航命令,比如NavigateBack等等。但是把这些东西绑在一起很难。

我也在使用Prism / MEF。

1 个答案:

答案 0 :(得分:1)

您需要使用该地区的期刊。如果您获得区域管理器并获得对为该面板定义的Prism Region实例的引用。然后,您可以使用该区域的导航服务日志返回。如果您需要在导航到下一个视图时执行某些操作,还可以注册到该区域的NavigationService的Navigated事件。

mainRegion = this.RegionManager.Regions["MainRegionName"];   
mainRegion.NavigationService.Navigated += NavigationService_Navigated; 
mainRegion.NavigationService.Journal.GoBack();