我试图在使用时理解基本的MVVM设计方法 ItemsControl的 通过绑定它 的DataTemplates 至 ObservableCollections 在ViewModel上。
我见过绑定到ObservableCollections的例子 字符串, 查看,和 的ViewModels。
绑定到字符串似乎只是为了 演示,它是绑定到“包含View集合的ViewModel,其中包含ViewModel集合“WPF的力量似乎真的出来了。
对于那些精通MVVM模式的人来说,将ItemControl,ListView,ListBox绑定到ViewModel中的集合的标准方法是什么? 我正在寻找这样的经验建议:
- 总是使用ObservableCollection <...>而永远不会列出<...>因为...
- 比ItemsControl更好的东西来展示一个集合是......
- 为了使过滤能够在ViewModel中工作而不是代码隐藏,请使用...
- 当...时使用View集合和ViewModels集合时......
- 90%的时间我创建一个ItemsControl并将其绑定到具有自己的ViewModels的ObservableCollection视图...
我会使用ViewModel的ObservableCollection,原因如下:
- ObservableCollection已经具有可用于在其被修改时发信号的事件(例如,当从集合中添加/移除项目时)。
- 我们在ViewModel'层',因此它提供了更清晰的分离,使ViewModel包含ViewModel而不是Views的集合
- 如果需要修改或从集合中的项目获取数据,如果项目是ViewModel,则可以更轻松地修改/访问该数据(如果它们是视图,您将经常投射View的DataContext或访问其UI元素)。
我会使用ViewModel的ObservableCollection,原因如下:
- ObservableCollection已经具有可用于在其被修改时发信号的事件(例如,当从集合中添加/移除项目时)。
- 我们在ViewModel'层',因此它提供了更清晰的分离,使ViewModel包含ViewModel而不是Views的集合
- 如果需要修改或从集合中的项目获取数据,如果项目是ViewModel,则可以更轻松地修改/访问该数据(如果它们是视图,您将经常投射View的DataContext或访问其UI元素)。
我喜欢使用ViewModels的ObservableCollection。绑定到集合的视图可以定义一个DataTemplate,为ViewModel提供外观。这导致组件之间的耦合较少。
我有同样的问题,但用“模型”替换“视图”。 :)
我有一个MODEL与其他模型的集合。
我希望我的viewmodel有一个可观察的其他视图模型集合,但是一旦我像这样实例化它 - 模型集合内容之间的连接就会丢失。
我现在需要开始将viewmodels observable集合中的所有事件连接回models集合吗?