有没有办法使用 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
。
现在,如果您看到您的后退堆栈将具有ViewA
和ViewC
因此当您调用GoBack()
时,它会直接带您ViewA
。
使用以下代码删除NavigationStack
中的最后一个条目
frame.BackStack.RemoveAt(frame.BackStackDepth-1)
实现 IJournalAware
并为PersistInHistory()
方法返回 false
public bool PersistInHistory() => false;
就是这样
持久历史记录