【发布时间】:2014-03-03 08:42:42
【问题描述】:
我很难理解,mvvmcross 导航如何在一些更复杂的情况下工作。让我们以应用程序为例,我们希望使用 mvvmcross 作为基础为 WP7 和 Metro 制作该应用程序。我们创建三个视图模型(FirstViewModel、SecondViewModel、ThirdVIewModel),用一些数据填充它们并使用常规导航在它们之间移动(使用 ShowViewModel() 方法)。到目前为止,这很好用,我们希望在 Windows Phone 设备上进行这种导航,这是三个独立的视图,我们可以来回导航。
现在从 Metro 应用程序的角度来看 - 我们的屏幕要大得多,通常用于横向模式,因此我们决定希望将这三个页面的内容显示为一个页面。
这就是我看到问题的地方 - 因为两个版本的应用程序使用相同的核心和相同的视图模型层次结构 - 似乎不可能同时具有这种行为。从 FirstViewModel 到 SecondViewModel 的导航不适用于 Metro 版本的应用程序,因为我们实际上在第一个屏幕上,我们想要包含来自所有三个视图模型的所有数据。另一方面,我们不能将这三个视图模型放在更大的视图模型中并将其用作单一视图模型,因为这三个单独的视图模型以及常规导航对我们在 Windows Phone 上非常有效。
有没有办法使用 mvvmcross 提供这种非标准导航?如果是这样,是需要覆盖/添加一些简单的代码(我没有看到,也许?),还是相当复杂的东西,需要大量的时间和编码来启用这种功能?
【问题讨论】:
标签: navigation xamarin mvvmcross