Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 导航到新视图时,mvvm prism 6正向堆栈被清除_Wpf_Mvvm_Navigation_Prism_Journal - Fatal编程技术网

Wpf 导航到新视图时,mvvm prism 6正向堆栈被清除

Wpf 导航到新视图时,mvvm prism 6正向堆栈被清除,wpf,mvvm,navigation,prism,journal,Wpf,Mvvm,Navigation,Prism,Journal,我对prism还不太熟悉。我有一个主内容区域,一次显示一个视图。如果我显示一个listview,然后执行editcommand导航到当前项目的detailview,我的导航将按预期工作。我可以返回listview,然后前进到detail视图。如果返回到listview并编辑另一个项目,其视图将按预期显示,但上一个详细视图现在将从正向堆栈中删除。实际查看prism代码时,当执行RecordNavigation方法时,前向堆栈被清除。这是故意的吗?我希望新的详细视图是当前项,但是否保留前向堆栈中的所

我对prism还不太熟悉。我有一个主内容区域,一次显示一个视图。如果我显示一个listview,然后执行editcommand导航到当前项目的detailview,我的导航将按预期工作。我可以返回listview,然后前进到detail视图。如果返回到listview并编辑另一个项目,其视图将按预期显示,但上一个详细视图现在将从正向堆栈中删除。实际查看prism代码时,当执行RecordNavigation方法时,前向堆栈被清除。这是故意的吗?我希望新的详细视图是当前项,但是否保留前向堆栈中的所有视图?我想我将不得不覆盖RegionNavigationJournal,但我很好奇我是否遗漏了什么

谢谢


Dan

是的,这是经过设计的,与前/后导航系统完全相同。看看你最喜欢的网络浏览器。考虑到我是这样导航的:

PersonSitView->PersonalView

然后按下返回键,我将再次看到PersonListView,其中PersonalView位于前向堆栈中

现在从PersonListView导航到PersonBView。现在按下后退按钮,现在我回到PersonListView,但这次前进的是PersonBView

从PersonBView返回后,将PersonalView作为从PersonListView向前导航时显示的视图是没有意义的


老实说,你想要的行为对你的用户来说毫无意义。

嗨,布莱恩:谢谢你花时间回答。实际上,我仍然希望在PersonListView中单击forward时显示PersonBView,但是一旦PersonBView被重新激活,forward按钮仍然允许您访问PersonView。这是我的第一个WPF应用程序,我正试图摆脱我通常使用的选项卡式visual studio类型的winform ui,而只使用一个主内容区域。希望日志机制在其父视图(NavigateFrom)之后插入新视图,但在前向堆栈中保留所有以前打开的视图,这是错误的吗?是的,这绝对是非正统的。这种导航模式将非常混乱,而不是用户所期望的。