1

我认为我的问题标题很清楚。有关我正在使用 MvvmCross vNext 的信息。我知道我应该使用 v3,但我仍然保持沉默,因为仍然每周在此版本上进行提交...我更愿意等待一个真正稳定的版本。

我的情况是我们使用 NetworkViewModel 来管理网络表示。它还负责检查与服务器的连接状态。如果连接断开,ViewModel 将发布我的视图订阅的登录消息。收到它时,我创建了一个对话框(作为 MonoTouch.Dialog 但绑定到我的 ViewModel,因此我的 NetworkViewModel 的 MvxTouchDialogViewController),我将其显示为模态视图(我正在使用 MvxModalSupportTouchViewPresenter)。为了能够在同一个 ViewModel 上创建我的对话框,我对其应用了 MvxUnconventionalViewAttribute 以防止它在启动时在同一个 ViewModel 类型上注册 2 个 View。然后我使用 MvxShowViewModelRequest 来创建我的 MvxTouchDialogViewController 的一个实例,并使用我的演示者的 Show 方法来呈现它。

我的问题是,在这种情况下,我的 NetworkViewModel 的一个新实例被创建来附加我的对话框。或者我想为我的模态对话框重用相同的 NetworkViewModel 实例。

通过在当前 NetworkViewModel 实例上使用 BindingInflate 方法并指定登录对话框 xml 布局文件,可以在 Android 中实现等效行为。

iOS有什么等价物吗?

谢谢,

G。

4

1 回答 1

1

如果您想覆盖 mvx 行为以使其不总是创建新的视图模型,那么您可以覆盖视图模型定位器以为一种或多种视图模型类型提供自定义视图模型查找。

有关更多信息,请参阅此问题/答案 - MvvmCross:ShowViewModel 是否总是构造新实例?

于 2013-06-22T06:50:40.143 回答