我正在使用Xamarin和MvvmCross (目前是5.6.2)为安卓(后来也是iOS)开发一个应用程序。我使用的是两个平台(Xamarin.Android、Xamarin.iOS)的原生UI。
这个应用程序有一个层次化的,类似文件夹的结构。在这个简单的例子中,导航到这个结构和向后导航工作得很好。
但是,在某些情况下,我需要从另一个顶级视图模型导航到此层次结构。为了支持正确的后退导航,导航堆栈应该从例如
home -> vm1至
home -> root -> folder -> folder -> vm2目前,我在vm1中调用await NavigationService.Close(),在home中处理返回值,然后在那里对await NavigationService.Navigate<>()进行一系列调用,以到达vm2。
导航(也是返回)工作正常,但在转换到vm2期间,会简要显示home等视图。这真的很让人分心。
如何在多个视图模型中导航(并处理返回值等),而不显示除最后一个以外的视图?
发布于 2018-07-24 04:52:28
这在MVVMCross中是不可能的,因为它allows only to Navigate到特定的VM。对于普通的Xamarin.Forms导航,您可以使用:
Navigation.InsertPageBefore (page, before);
Navigation.RemovePage (page);并修改您的导航堆栈,插入或删除您需要的页面。
https://stackoverflow.com/questions/51474717
复制相似问题