在导航历史记录中跳过视图

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在导航历史记录中跳过视图相关的知识,希望对你有一定的参考价值。

有没有办法使用Prism(使用RegionManager.RequestNavigate)导航而无需在导航历史中推送视图。

我希望导航从ViewAViewB和从ViewBViewC而不添加ViewBnavigation history这样当我从GoBack()调用ViewC方法时它让我直接到ViewA跳过ViewB

例如:

I am in ViewA 
Call RequestNavigate(ViewB) -----> Show ViewB
Call RequestNavigateWithoutHistorisize(ViewC) ----> Show ViewC
Call GoBack() -------> Show ViewA
答案

而不是跳过添加到frameNavigation Stack,考虑从frame中导航后移除navigation stack

例如,导航到ViewAViewB现在从navigation stack删除最后添加的元素(这意味着ViewB被删除)。导航到ViewC

现在如果你看到你的Back堆栈会有ViewAViewC所以当你打电话给GoBack()它会直接带你到ViewA

使用以下代码删除NavigationStack中的最后一个条目

frame.BackStack.RemoveAt(frame.BackStackDepth-1) 

以上是关于在导航历史记录中跳过视图的主要内容,如果未能解决你的问题,请参考以下文章

在返回导航中跳过 xamarin 表单中的页面

在 Dataflow JavaScript UDF 中跳过记录

Python 3.2 在 csv.DictReader 中跳过一行

如何根据某些条件在 MSSQL 游标中跳过一行(迭代)?

在播放中跳过静音 - 优化值

IntelliJ IDEA 中跳转到上一个视图位置(向后/向前导航)的键盘快捷键