首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我的ViewModel应该有一个视图的ObservableCollection还是ViewModels?

我的ViewModel应该有一个视图的ObservableCollection还是ViewModels?
EN

Stack Overflow用户
提问于 2009-06-08 12:45:05
回答 3查看 5.1K关注 0票数 11

我试图理解使用ObservableCollections ItemsControl时的基本MVVM设计方法,方法是通过DataTemplates将MVVM绑定到ViewModel上的。

我看到了绑定到ObservableCollections of stringsViewsViewModels的示例。

绑定到字符串似乎只适用于demos,WPF的功能似乎真正显现出来的是“包含包含ViewModels集合的视图集合的ViewModels”。

对于那些精通MVVM模式的用户来说,您将ItemsControl、ListView、ListBox绑定到ViewModel中的集合的标准方法是什么?--我想从下面的经验中寻求建议:

  • 总是使用ObservableCollection<...>而不是List<...> ItemsControl来显示集合是
  • ,为了让过滤在ViewModel中工作,而不是代码隐藏,使用.
  • 使用视图集合时。和ViewModels的集合当.
  • 90%的时间我创建一个ItemsControl并将其绑定到具有自己的ItemsControl的视图ObservableCollection
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-06-10 19:12:31

我使用ObservableCollection of ViewModels的原因如下:

  • ObservableCollection已经有事件可用于在修改后发送信号(例如,当项在ViewModel‘层“从collection).
  • We're中添加/删除时,它提供了更清晰的分隔,使ViewModel包含一个ViewModels集合,而不是视图
  • ,如果有必要修改或从集合中的项中获取数据,您可以更容易地修改/访问该数据(如果它们是视图,您将经常转换视图的DataContext或访问其UI元素)。
票数 10
EN

Stack Overflow用户

发布于 2009-06-08 14:53:11

我喜欢使用ObservableCollection of ViewModels。绑定到集合的视图可以定义一个DataTemplate,该视图为ViewModel提供外观。这导致组件之间的耦合更少。

票数 1
EN

Stack Overflow用户

发布于 2009-06-30 09:53:22

我也有同样的问题,但把“视图”改为“模型”。:)

我有一个模型和其他模型的集合。我希望我的视图模型有一个其他视图模型的可观察集合,但是一旦我像这样实例化它--模型集合内容之间的连接就丢失了。现在我是否需要开始将所有事件从视图模型可观察的集合连接回模型集合?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/964751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档