首页 文章

MvvmCross导航到多个视图模型

提问于
浏览
1

我正在使用Xamarin和MvvmCross(目前为5.6.2)开发Android应用程序(后来也是iOS) . 我正在使用两个平台的原生UI(Xamarin.Android,Xamarin.iOS) .

该应用程序具有层次结构,类似文件夹的结构 . 导航到这个结构并导航回来在简单的情况下正常工作 .

在某些情况下,我需要从另一个顶级视图模型导航到这个层次结构 . 为了支持正确的反向导航,导航堆栈应该从

home -> vm1

home -> root -> folder -> folder -> vm2

目前我在 vm1 中调用 await NavigationService.Close() ,使用 home 中返回的值,然后对 await NavigationService.Navigate<>() 进行一系列调用以达到 vm2 .

导航(也返回)工作正常,但在转换到 vm2 期间,会短暂显示 home 等的视图 . 这真的让人分心 .

如何浏览多个视图模型(并使用返回值等),但不显示除最终视图之外的视图?

1 回答

  • 0

    对于MVVMCross来说,这是不可能的,因为它是特定VM的allows only to Navigate . 使用正常的Xamarin.Forms导航,您可以使用:

    Navigation.InsertPageBefore (page, before);
    Navigation.RemovePage (page);
    

    并修改导航堆栈,插入或删除所需的页面 .

    Documentation

相关问题