【发布时间】:2018-02-27 20:45:55
【问题描述】:
我目前正在开发一个使用 .NET Standard 作为代码共享策略的 Xamarin.forms 项目。这个应用程序使用多个页面/视图。我尝试通过 MvvmLightLibsStd10 库来使用 MVVM 模式。我已经成功设置了 MVVM 结构 就像我之前的问题一样:
Xamarin.Forms How to switch pages using MVVMLight
我遵循相同的代码结构。 每个视图(页面)都有自己的 ViewModel 和所有逻辑。 在应用程序中有一个页面,其中包含一个带有对象的 Listview。 选择对象时,需要将对象传递给我的第二页ViewModel,因为我需要在我的TheireVM中使用此对象进行某些内容。我已经可以从列表视图视图/页面的视图模型中的列表中获取 selectedObject。我喜欢尽可能地尊重 MVVM 的概念,所以我尽量避免视图背后的代码。
当然,必须有一种方法可以使用 MVVM 构建多页面应用程序并在页面之间传递数据。但我真的不知道该怎么做。由于我是 Xamarin.forms 中 MVVM 的新手。
我喜欢保持带有后退按钮导航的标题保持完整。 提前致谢。
【问题讨论】:
-
...MVC 和所有的 MV* 变体在与面向消息的系统交织时总是倾向于发挥最佳效果。数据从服务返回,服务控制器将数据广播到主题。其他控制器订阅该主题并自动同步其数据。尝试查看 Reactive Extensions 和 Observables。
-
Prism 具有用于此特定任务的 NavigationParameters。也许放弃 MVVMLight 并使用 Prism?
标签: c# xamarin.forms mvvm-light .net-standard-2.0