无论如何我们可以忽略导航堆栈中的相同页面条目, 实际上我的UWP应用程序中存在以下情况,这是用户从一个页面导航到另一个页面的方式
MainPage - >第1页 - >第2页 - >
现在从Splitview用户点击第1页,所以堆栈就像这样
MainPage - >第1页 - >第2页 - >第1页
我想要的是,如果第1页已经加载,而不是我想删除第1页和该页面上方的所有框架,
这就是堆栈的样子:
MainPage - >第1页
在android中我知道我们可以设置标志“ClearTop”,以便它自动执行同一页面的清理,UWP App有类似的东西吗?
答案 0 :(得分:0)
在当前帧上,您可以检查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();
}
}