如何使用 NavigationPage 在 .NET MAUI 中导航回所需页面?

问题描述 投票:0回答:1

我正在使用 .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!");
  }
c# .net xamarin xamarin.forms maui
1个回答
0
投票

您的代码逻辑不正确,请参考以下代码:

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!");
  }
© www.soinside.com 2019 - 2024. All rights reserved.