无论如何我们可以忽略导航堆栈中的相同页面条目, 实际上我的 UWP 应用程序中有以下情况,这就是用户从一个页面导航到另一个页面的方式
主页->第1页->第2页->
现在从 Splitview 用户点击第 1 页,所以堆栈是这样的
主页 -> 第 1 页 -> 第 2 页 -> 第 1 页
我想要的是,如果第 1 页已经加载,我想删除第 1 页和该页面上方的所有框架,
堆栈应该是这样的:
主页 -> 第 1 页
在 android 中,我知道我们可以设置标志“ClearTop”,以便它自动对同一页面执行清理,UWP App 是否有类似的东西?
最佳答案
在当前帧上,您可以检查 BackStack 集合,并删除任何条目
这是您可以使用和改编的片段:)
Frame rootFrame = Window.Current.Content as Frame;
if (rootFrame.CanGoBack)
{
// Check if we are on the entry page and try to go back
var backTypePage = rootFrame.BackStack[rootFrame.BackStackDepth - 1];
if (this.EntryPage != null && backTypePage.SourcePageType == this.EntryPage)
{
e.Handled = false;
rootFrame.BackStack.Clear();
}
else
{
e.Handled = true;
rootFrame.GoBack();
}
}
关于c# - 如何忽略导航历史中的同一页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36912136/