【问题标题】:Navigate to View Already in Backstack导航到已在 Backstack 中查看
【发布时间】:2018-11-17 20:05:54
【问题描述】:

我目前在 Xamarin.Forms 应用程序中使用 MvvmCross

我的情况是,在用户旅程的某个时刻,后台堆栈看起来像这样

根 -> View1 -> View2 -> View3

我需要做的是从 View3 导航回 View1。

我不能说

NavigationService.Navigate<ViewMode1>();

因为这只会将它添加到后台堆栈,导致

根 -> View1 -> View2 -> View3 -> View 1

我需要的是

根 -> View1

我查看了文档并遇到了

NavigationService.ChangePresentation(new MvxPresentationHint(typeof(ViewModel1)));

但这似乎没有任何作用。我怎样才能做到这一点?

【问题讨论】:

    标签: c# xamarin.forms mvvmcross


    【解决方案1】:

    您可以计算导航堆栈中的页面数,然后这样做:

    Navigation.RemovePage(Navigation.NavigationStack[Navigation.NavigationStack.Count - 2]);

    希望它能解决您的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-24
      • 1970-01-01
      • 1970-01-01
      • 2023-03-18
      • 2021-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多