c# - 在后退导航中以 xamarin 形式跳过页面

标签 c# xamarin.forms navigation

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

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

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

但是在点击后退按钮后,我回到了第 4 页而不是第 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 页。

关于c# - 在后退导航中以 xamarin 形式跳过页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65291601/

相关文章:

c# - 双击事件在窗口级别和控件级别触发,即使它是在控件内处理的

c# - 错误 : A const field of a reference type other than string can only be initialized with null

c# - Xamarin.Forms 字体已过时

android - 与抽屉导航一起使用时,工具栏后退按钮不起作用

navigation - HTML <TextArea> 中的 RTL(从右到左)键盘导航

c# - 查询反序列化的 JSON 对象

c# - 为什么我在 C# 中的计算比 Python 快得多

xamarin.ios - Xamarin Forms 向 iOS 编辑器添加占位符

c# - DateTime.Now 在 XAML 中没有绑定(bind)

flutter - 如何使我们的列表持久化,同时在 Flutter 应用程序中导航到不同的屏幕?