Xamarin.Forms Prism 移除导航栈中的视图

3

是否可以从导航栈中移除一个视图?

我想要实现以下功能:

  • 导航到视图1
  • 导航到视图2
  • 导航到视图3

如果在视图3中按下“返回”按钮,我希望回到视图1。

2个回答

1
这应该可以工作。
_navigationService.NavigateAsync("yourApp:///NavigationPage/YourPage")

这相当于

结束标签


MainPage = new NavigationPage(new YourPage());

注意:我在使用这种方式导航时遇到了 iOS 崩溃问题。通过使用 Device.RuntimePlatform,我解决了这个问题。
switch (Device.RuntimePlatform)
{
    case Device.iOS:
        _navigationService.NavigateAsync("YourPage");
        break;
    case Device.Android:
        _navigationService.NavigateAsync("yourApp:///NavigationPage/YourPage");
        break;
    default:
        _navigationService.NavigateAsync("YourPage");
        break;
}

-1
Navigation.RemovePage(Navigation.NavigationStack.Last());
Navigation.PopAsync();

Prism的INavigationService没有公开这些方法。 - Martino Bordin
这些是ContentView的方法。 - sunyt
不幸的是,我需要在我的ViewModel中调用它,使用Prism的NavigationService。 - Martino Bordin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接