我对M-V-VM完全陌生,对Silverlight来说还是新手,只是今天第一次阅读它。作为示例,我正在创建一个包含项列表的模型。我的(Silverlight 4)视图包含一个列表框,我的ViewModel将查看模型以检索列表框将绑定到的集合。
我的问题是这个。我认为使用ObservableCollection来保存列表框绑定的项目会很好。这将是ViewModel中的ObseravleCollection。我是否也应该在模型中使用这种类型的集合,还是应该使用其他集合类型并在模型和视图模型之间进行smoe转换?
答案 0 :(得分:1)
有3种基本情景(按复杂程度增加的顺序):
在第一种情况下,您使用List只是将请求的数据传递给vms,在其他情况下,您将使用ObservableCollection,以便通过绑定(情况#2)正确更新任一视图,或者vms可以正确地更新它自己的集合(案例#3)
答案 1 :(得分:-2)
通常的做法是在模型中使用IList / List或类似的东西,然后在ViewModel中进行转换。因此,在模型中,您将拥有类似IList的内容,并在ViewModel中将其转换为ObservableCollection(通常在ViewModel的构造函数中)。
干杯,亚历克斯