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



有没有办法使用 Prism (使用 RegionManager.RequestNavigate( 在导航历史记录中推送视图进行导航。

我希望从ViewA导航到ViewB和从ViewB导航到ViewC而不将ViewB添加到navigation history中,这样当我从ViewC调用GoBack()方法时,它会直接ViewA跳过ViewB

示例 :

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

与其跳过添加到Navigation Stack frame,不如考虑在navigation stack导航后将其frame删除。

例如,导航到ViewB ViewA现在从navigation stack中删除上次添加的元素(这意味着 ViewB 被删除(。导航到 ViewC

现在,如果您看到您的后退堆栈将具有ViewAViewC因此当您调用GoBack()时,它会直接带您ViewA

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

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

实现 IJournalAware
并为PersistInHistory()方法返回 false
public bool PersistInHistory() => false; 就是这样

持久历史记录

相关内容

  • 没有找到相关文章

最新更新