gpt4 book ai didi

mvvm - 可移植 View 模型中的MVVM和模态

转载 作者:行者123 更新时间:2023-12-03 10:29:14 27 4
gpt4 key购买 nike

我的应用程序(使用MvvmCross和MVVM模式编写)需要显示弹出窗口,用户可以在其中选择确认某些选项。因此,基本上,这是一个经典的模态对话框,但是由于该应用程序的 View 模型是在可移植类库中实现的,因此它需要从广义上解决模态-一些平台根本不与模态对话框完全匹配。

有一些线程讨论MVVM中的对话框(Open dialog in WPF MVVMWPF MVVM dialog example)。按照他们的建议,我可能可以通过引入DialogService并为每个平台实现它来解决此问题。但是,我将把对话框像其他服务一样对待-存储服务, map 服务等。但是,对话框是表示概念的一部分,所以我想知道是否可以将其更像 View ,因此不必调用的实例。我可以使用自己选择的MVVM框架(在我的情况下为MvvmCross)导航到晦涩的IDialogService。

我检查了MvvmCross的实现和示例,但发现几乎没有对话框相关的内容。

最佳答案

在MvvmCross中,presenter负责使用ShowViewModel时如何显示Views/ViewModels。

该演示者是 View /UI级别的对象-最终,UI的工作是确定 View 是否应显示为页面,控件,选项卡,拆分 View ,对话框等。

v3确实引入了表示提示,即ViewModel可以帮助建议应如何显示View-但是由每个平台上的提示者决定如何(如果)使用此提示。

另外,使用从ViewModel到View的MvxMessenger消息可以很容易地显示Dialogs/flyouts/etc,后面还包含一些代码。

对于“模态”,还可以考虑格雷格在“返回结果”上的帖子-请参见http://www.gregshackles.com/2012/11/returning-results-from-view-models-in-mvvmcross/

关于mvvm - 可移植 View 模型中的MVVM和模态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16128913/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com