在 Prims 中,有两种常见的方法可以在 MVVM 模式中实现用户交互。http://msdn.microsoft.com/en-us/library/gg405494(v=pandp.40).aspx#sec10 1. 实现视图模型可以使用的服务来启动与用户的交互 2. 使用视图模型引发的用于表达与用户交互的意图的事件,以及绑定到这些事件并管理交互的视觉方面的视图中的组件。
我认为 MvxPresentationHint 应该是第一种方法。支持第二种方法怎么样?
在 Prims 中,有两种常见的方法可以在 MVVM 模式中实现用户交互。http://msdn.microsoft.com/en-us/library/gg405494(v=pandp.40).aspx#sec10 1. 实现视图模型可以使用的服务来启动与用户的交互 2. 使用视图模型引发的用于表达与用户交互的意图的事件,以及绑定到这些事件并管理交互的视觉方面的视图中的组件。
我认为 MvxPresentationHint 应该是第一种方法。支持第二种方法怎么样?
在这个阶段,我不相信任何人已经dialog
在视图模型和视图之间实现了任何正式记录的通用跨平台交互模式。
我个人使用了几种机制,包括:
使用 viewmodel 的信使发送一般的“询问 y/n”请求,然后让视图发送“答案是 y/n”响应。
使用自定义演示者通过弹出对话框覆盖 ShowViewModel 行为
这两种方法都运行良好,可测试,只使用了少量的“代码隐藏”,提供了简单的定制并且只使用了弱引用——所以不会在 iOS 中引起任何内存问题。一般来说,在未来面临类似的用户体验要求时,我认为我会考虑将信使方法作为我的首选——但这是个人设计偏好——而不是像 prism 中的一些“最佳实践”文章。