【问题标题】:Create a Container for WPF Custom Navigation为 WPF 自定义导航创建容器
【发布时间】:2011-11-01 18:19:12
【问题描述】:
我有一个应用程序,其中有一个小面板需要支持浏览器,例如导航,例如后退、前进和主页。因此,它还需要保存用户访问过的面板的历史记录。我认为我不能使用 NavigationWindow,因为只有一小部分窗口支持导航。
这样做的最佳做法是什么?我一直在研究 NavigationService 和 NavigateBack 等导航命令。但是很难将这些东西联系在一起。
我也在使用 Prism/MEF。
【问题讨论】:
标签:
wpf
navigation
prism
navigationservice
【解决方案1】:
您需要使用该地区的期刊。如果您获得区域管理器并获得对为面板定义的 Prism 区域实例的引用。然后,您可以使用该区域的导航服务日志返回。如果您需要在导航到下一个视图时执行一些操作,您还可以注册到该区域的 NavigationService 的 Navigated 事件。
mainRegion = this.RegionManager.Regions["MainRegionName"];
mainRegion.NavigationService.Navigated += NavigationService_Navigated;
mainRegion.NavigationService.Journal.GoBack();