Composite views in MvvmCross
我有一个WPF MVVM应用程序,我想将其重构为使用MvvmCross支持Android实现的WPF和Mono。
我们应用程序的视图包括:
- 始终可见的工具栏
- 导航栏区域
- 主视区
- 弹出窗口区域
这些区域中的每个区域都是主应用程序窗口上的UserControl,而UiService只是交换每个区域中的视图。对于弹出窗口,它也只是主窗口上的UserControl,在对UiService的Show或Hide调用中,其可见性也会发生变化。 UiService还接受上下文参数,该上下文参数允许将状态信息传递到要显示的视图模型中。
主要视图通常是几个子视图的组合。在这些情况下,主视图模型将创建作为属性公开的子视图模型。主视图将这些属性设置为子视图的数据上下文。
我认为MvvmCross当然可以支持这种样式的复合视图,但是我找不到这样的例子。有相关的MvvmCross示例吗?在MvvmCross中实施的推荐方法是什么?
I would think that MvvmCross would certainly support this style composite views, but I couldn't find an example of such. Are there any relevant MvvmCross examples? What would be the recommended approach for implementing in MvvmCross?
这种观点不是移动应用程序的默认视图-大多数移动应用程序都是基于页面的。
但是,复合视图在平板电脑应用中变得越来越普遍-甚至移动应用也有例外-例如标签,全景图,弹出窗口等
为了允许不同类型的显示,每个MvvmCross UI平台都提供一个
在
有关此的一些信息,包括一些示例的链接,请参阅此幻灯片组-https://speakerdeck.com/cirrious/presenters-in-mvvmcross
WPF和iOS TwitterSearch示例可能是一个开始的好地方-https://github.com/slodge/MvvmCross-Tutorials/tree/master/Sample%20-%20TwitterSearch
我创建了一个使用自定义演示器的插件,以允许将多个ViewModel与UserControls一起显示在同一页面上。它还允许常规的"视图"导航,因此您可以使用精确的视图模型在Wpf,Andoid Tablets,Windows Store或iPad上具有复合视图,并在移动设备上进行页面导航:
https://github.com/ChristianRuiz/MvvmCross-ControlsNavigation
请记住,您可以在任何给定命令上显示2个ViewModel。
例如,如果用户填写一个Login表单,然后您要加载复合UI,则显示导航栏视图模型和主视图模型。
然后,您可以创建一个自定义演示者来处理相应视图的布局。
听起来很简单(确实如此),但花了我一段时间才弄清楚。正如Stuart提到的,在TwitterSearch教程中演示的解决方案