【发布时间】:2014-09-20 11:21:37
【问题描述】:
我正在使用 prism 和 MVVM 开发一个 wpf 应用程序。
我有一个主 shell,它有两个区域:菜单区域和主区域。
我正在尝试在菜单区域(其中包含 MenuView)中实现 BACK 和 FORWARD 按钮,就像我们在任何浏览器中一样:
假设我有 5 个视图:View1、View2、View3、View4、View5。
当我启动应用程序时,View1 显示在主区域中。目前,我希望禁用这些按钮。
现在,我选择导航到 View3: View3 显示在 Main Region 中,然后 Back btn 启用(forward btn 保持禁用状态)。然后,我导航到 View2,它显示在 Main Region 中。
现在,当我单击 Back btn 时,视图 3 显示在 Main Region 中,并且 Forward btn 启用。 我点击前进,现在显示视图 2,前进 btn 被禁用。
我已尝试使用导航日志,如以下链接所述: http://msdn.microsoft.com/en-us/library/gg430861(v=pandp.40).aspx
但是没有成功,因为我做了他们在 MenuViewModel 中提到的事情,这是整个应用程序生命周期中唯一显示在菜单区域中的视图(并且只有主区域切换视图)。这就是为什么永远不会调用 OnNavigatedTo 方法的原因,因为我永远不会导航到 MenuView,这会导致 navigationService 始终为空。
主要的一点是,我希望 MenuView 中的这些按钮 - 在整个应用程序生命周期中显示在菜单区域中的唯一视图。后退和前进按钮在主要区域中的视图之间导航 - 来回。非常感谢您的建议。
【问题讨论】: