使用交互请求对象的MVVMCross用户交互模式?

时间:2013-07-15 08:17:02

标签: mvvmcross

在Prims中,有两种在MVVM模式中实现用户交互的常用方法。 http://msdn.microsoft.com/en-us/library/gg405494(v=pandp.40).aspx#sec10  1.实现视图模型可用于启动与用户交互的服务  2.使用视图模型引发的事件来表达与用户交互的意图,以及视图中绑定到这些事件并管理交互的可视方面的组件。

我认为MvxPresentationHint应该是第一种方法。如何支持第二种方法?

1 个答案:

答案 0 :(得分:0)

我认为在此阶段,任何人都没有在viewmodel和view之间实现任何正式记录的常见跨平台dialog交互模式。

我个人使用过几种机制,包括:

  • 使用messenger为viewmodel发送一般的'ask y / n'请求,然后让视图发送'answer is y / n'响应。

  • 使用自定义演示者通过弹出对话框覆盖ShowViewModel行为

这两种方法都运行良好,可测试,仅使用少量“代码隐藏”,提供简单的自定义并仅使用弱引用 - 因此在iOS中不会导致任何内存问题。总的来说,在未来面临类似的ux要求时,我认为我会将信使方法视为我的第一选择 - 但这是个人设计偏好 - 而不是像棱镜一样的“最佳实践”文章。