【发布时间】:2013-04-20 23:21:21
【问题描述】:
我使用 MVVM 框架编写了一个手机应用程序。它融合在一起还不错 - 手机上的每个页面(视图)都有自己的 ViewModel,每个 ViewModel 中的代码都转到数据服务并检索适当的数据。
所以我有一个页面显示即将到来的项目的议程,它的 ViewModel 检索了一个事件集合,在 XAML 中我将一个列表框绑定到这个集合。 同样,我有另一个页面显示 OneOff 事件,我再次在其 VM 中调用数据服务以获取数据集合,并将其绑定到其视图中的列表框。
不确定 MVVM 的实现有多好,但是,我最终转移到了不同的数据库 - 实现另一个数据服务非常容易,无需触及其他任何东西,而且一切都很好。
好的 - 所以现在我希望将此应用程序重新设计为 Windows 应用商店应用程序。我现在有一个主页,它将显示手机上显示在各个页面上的数据组合。 假设,假设上面提到的议程项目和一次性事件现在出现在同一个主页上(展示内容的空间更大)
只是在纠结这对 ViewModel 意味着什么。如果 MainPage 只能与一个 ViewModel 一起使用,我是否最终会得到一个巨大的 ViewModel,其中包含之前在多个 VM 中的所有功能。
或者主 ViewModel 中是否应该包含 ViewModel 的集合。环顾四周,这似乎是可以完成的方式,但是,如果是这样,ViewModel 是在哪里创建的? 与我之前所做的相比,这似乎是一个根本性的转变。
【问题讨论】:
标签: xaml mvvm windows-store-apps