2015-08-29 47 views
-1

在我的Windows 10应用程序中,有一个复杂的视图,显然有3个块。每个块都有多个控件。在桌面版本中,我想在同一页面中显示所有3个块。对于手机版本,我希望每个区块都是不同的页面。为小屏幕和MVVM分割视图的最佳方法?

这种情况下最好的方法是什么?

One ViewModel和多个页面? UserControls和每个用户控件与一个ModelView? ...

回答

0

我不知道我认为是什么“最好”的方法,但我个人会为每个块设置一个视图模型,以便您可以轻松地将它们分配到桌面上的两个部分,移动到个人页面。

在桌面上我会添加一个额外的viewmodel到包含块的页面,并引用其中的三个viewmodels。在页面上,你会将mainviewmodel绑定到页面上,然后子视图模型到每个部分,以便他们拥有自己的上下文。

您可以使用桌面上的mainviewmodel来根据需要处理子视图的加载和保存状态,并且在移动设备上直接处理这些状态。

我希望这有帮助!