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

Skipping pages in xamarin forms in Back 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 页。