Xamarin 表单应用程序的 MvvmCross 清除导航堆栈
MvvmCross clear navigation stack for Xamarin forms app
当我必须删除导航堆栈直到确定页面时遇到问题。如果没有 NoHistory 选项,我找不到任何可行的解决方案。我可以删除一些在主页上打开的带有 nohistory 属性的页面,但我需要其他东西。
我可以用一个例子更好地解释我的问题。想象一下,我有 5 个不同的页面,导航堆栈的状态是 1 > 2 > 3 > 4 > 5。当在第 5 页上按下特定按钮时,应该打开第三页。实际上导航堆栈的新状态应该是 1 > 2 > 3.
我该如何应用该操作,有人可以为此添加建议吗?
Xamarin Forms 版本为 3.6.364807
MvvmCross 版本是 6.2.3.
我不知道您使用的是哪个版本的 mvx,但如果它是您可以执行的最后一个版本之一:
this.navigationService.ChangePresentation(new MvxPopPresentationHint(typeof(MyThirdViewModel));
这将弹出每个视图模型,直到第三个视图模型。
Here you have the hint in the repo
如果您因为使用以前版本的 mvx 而没有该提示,您可以参考 this question 以了解如何实现自定义提示。
高
当我必须删除导航堆栈直到确定页面时遇到问题。如果没有 NoHistory 选项,我找不到任何可行的解决方案。我可以删除一些在主页上打开的带有 nohistory 属性的页面,但我需要其他东西。
我可以用一个例子更好地解释我的问题。想象一下,我有 5 个不同的页面,导航堆栈的状态是 1 > 2 > 3 > 4 > 5。当在第 5 页上按下特定按钮时,应该打开第三页。实际上导航堆栈的新状态应该是 1 > 2 > 3.
我该如何应用该操作,有人可以为此添加建议吗?
Xamarin Forms 版本为 3.6.364807 MvvmCross 版本是 6.2.3.
我不知道您使用的是哪个版本的 mvx,但如果它是您可以执行的最后一个版本之一:
this.navigationService.ChangePresentation(new MvxPopPresentationHint(typeof(MyThirdViewModel));
这将弹出每个视图模型,直到第三个视图模型。
Here you have the hint in the repo
如果您因为使用以前版本的 mvx 而没有该提示,您可以参考 this question 以了解如何实现自定义提示。
高