在返回导航中跳过 xamarin 表单中的页面

Posted

技术标签:

【中文标题】在返回导航中跳过 xamarin 表单中的页面【英文标题】:Skipping pages in xamarin forms in Back Navigation 【发布时间】:2021-03-25 05:52:53 【问题描述】:

四页 xamarin 表单,第 1>2>3>4 页,其中第 4 页是要导航到的最后一页

导航到第4页后,我想回到第2页,跳过第3页

我尝试在第 4 页上放置一个按钮以导航回第 2 页

但点击返回按钮后,我回到第 4 页而不是第 1 页

卡住了

【问题讨论】:

这在文档中有介绍 - docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/… 【参考方案1】:

现在您的导航堆栈中有 4 个页面1>2>3>4,现在您想从第 4 页转到第 2 页。您必须删除 第 3 页,您无法导航到第 2 页,因为这样堆栈将变为 1>2>3>4>2。您希望堆栈类似于 1>2>4 。因此,当您从第 4 页弹出时,它会转到第 2 页。

从堆栈中删除第 3 页的代码

var page = Navigation.NavigationStack[Navigation.NavigationStack.Count - 2]; 
// you have the second last page now in page variable
Navigation.RemovePage(page);

之后这个栈会变成1>2>4 现在,您可以在第 4 页中编写以下内容

await Navigation.PopAsync();

然后你会来到第 2 页。

【讨论】:

谢谢,这是迄今为止我得到的最明确的答案,真的谢谢

以上是关于在返回导航中跳过 xamarin 表单中的页面的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin 表单和页面之间的导航

使用 ShellContent xamarin 表单时添加导航返回箭头

在 Xamarin 表单的导航页面中添加 SearchBar

Xamarin 表单导航和处理登录页面

从 Webview 导航到 xamarin 表单中的应用程序页面

在导航历史记录中跳过视图