gpt4 book ai didi

c# - 如何忽略导航历史中的同一页面

转载 作者:太空宇宙 更新时间:2023-11-03 15:22:02 25 4
gpt4 key购买 nike

无论如何我们可以忽略导航堆栈中的相同页面条目,实际上我的 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com