我正在使用 .NET MAUI 导航页面在页面之间导航。 启动页, 第一页, 第二页, 第三页, 第 4 页 , 第 5 页, 第 6 页 , 第 7 页 , 第 8 页, 第 9 页, 第 10 页, 在第 10 页上,我打印了 Navigation.Navigationstack.Count();然后我得到10。 现在我想直接从第 10 页导航回第 3 页。 我该怎么做?如果有人知道请帮忙。 我正在尝试这个,但它不起作用。
int page = Navigation.NavigationStack.ToList().FindIndex(p => p is Thirdpage);
if (page >= 0)
{
for (int i = Navigation.NavigationStack.Count - 1; i > page; i--)
{
var pageToRemove = Navigation.NavigationStack[i];
Navigation.RemovePage(pageToRemove);
}
while (Navigation.NavigationStack.Count > page + 1)
{
await Navigation.PopAsync(false);
}
}
else
{
Console.WriteLine("Third Page not found in the navigation stack!");
}
您的代码逻辑不正确,请参考以下代码:
int page = Navigation.NavigationStack.ToList().FindIndex(p => p is Thirdpage);
if (page >= 0)
{
for (int i = Navigation.NavigationStack.Count - 1; i > page; i--)
{
var pageToRemove = Navigation.NavigationStack[i];
//Navigation.RemovePage(pageToRemove);
await Navigation.PopAsync();
}
//while (Navigation.NavigationStack.Count > page + 1)
//{
// await Navigation.PopAsync(false);
//}
}
else
{
Console.WriteLine("Third Page not found in the navigation stack!");
}