我想从backstack中删除页面,直到某个特定页面说“C”已经到达,当我在其他页面上说“F”时。 是否可以在页面名称上删除backstack?
谢谢和问候, 金屋
答案 0 :(得分:2)
您可以轻松遍历Backstack并检查页面名称并删除以下项目:
while (NavigationService.CanGoBack)
{
if (NavigationService.BackStack.First().Source.OriginalString == "/C.xaml")
{
break;
}
NavigationService.RemoveBackEntry();
}
答案 1 :(得分:0)
您可以记录您在代码中导航的所有页面,例如屏幕管理器。它包含与默认堆栈顺序相同的页面。因此,您可以从该列表中找到所需页面的位置,并多次调用删除后退输入功能。