【发布时间】:2011-09-03 12:18:22
【问题描述】:
我正在与设计师一起开发 Windows Phone 7 应用程序。我用 XNA 完成了 C# 开发,所以我知道 C#,但不熟悉 Model/View/ViewModel 架构。
我们对它的第一次破解为任何给定视图启用了多个 ViewModel。每个 ViewModel 都是我们模型中每个对象的中间层。
例如:我们有一个“朋友”页面,其中有一个ListBox,其中显示了朋友列表。因此,我们创建了一个 FriendsListViewModel 来处理从 XAML 将绑定到的模型中获取一个 ObservableCollection<Friend>。页面中还有其他可用功能(导航到其他页面、激活半相关功能等),因此包含在 FriendsPageViewModel 中。
我开始觉得这很疯狂,所以我将 View 和 ViewModel 之间的关系设为 1:1。
综上所述,我有一个包含两个组成部分的问题: 使用 MVVM,Views 和 ViewModels 之间的共同关系是什么? (此处重点介绍 Windows Phone 7 开发,以防它与 ASP.NET、WPF 或 Silverlight 有任何不同)
作为该问题的一个可能的补充:假设 1:1 关系通常是正确的或被接受的:如果您正在处理类似 Pivot 控件或 Panorama 控件的东西,您通常会给每个PivotItem 或 PanoramaItem 自己的 ViewModel?
【问题讨论】:
标签: silverlight xaml windows-phone-7 mvvm