我正在使用Xamarin和MvvmCross(当前为5.6.2)开发适用于Android(后来为iOS)的应用。我正在使用两个平台(Xamarin.Android,Xamarin.iOS)的本机UI。
该应用程序具有类似文件夹的层次结构。在简单的情况下,导航到该结构然后向后导航是可以的。
在某些情况下,尽管我需要从另一个顶级视图模型导航到此层次结构。为了支持正确的向后导航,导航堆栈应从原来的位置更改为
home -> vm1
到
home -> root -> folder -> folder -> vm2
当前,我在await NavigationService.Close()
中调用vm1
,在home
中使用返回的值,然后对await NavigationService.Navigate<>()
进行一系列调用以到达vm2
。
导航(也返回)工作正常,但是在过渡到vm2
时,会短暂显示home
等的视图。这真的让人分心。
我如何浏览多个视图模型(并使用返回值等),但不显示除最后一个视图以外的视图?
答案 0 :(得分:0)
由于MVVMCross allows only to Navigate到特定VM,因此无法实现。 通过普通的Xamarin.Forms导航,您可以使用:
Navigation.InsertPageBefore (page, before);
Navigation.RemovePage (page);
并修改导航堆栈,插入或删除所需的页面。