我试图理解使用时的基本 MVVM 设计方法项目控制通过绑定它数据模板 to 可观察集合在视图模型上。
我见过绑定到 ObservableCollections 的示例strings, Views, and 视图模型.
绑定到字符串似乎只是为了demos,它是对“包含 View 集合的 ViewModel 包含 ViewModel 集合”那WPF的威力似乎真的显现出来了。
对于那些精通 MVVM 模式的人来说,将 ItemsControl、ListView、ListBox 绑定到 ViewModel 中的集合的标准方法是什么?我正在寻找这样的经验建议:
- 始终使用 ObservableCollection<...> 而从不使用 List<...> 因为...
- 比 ItemsControl 更好地显示集合的是......
- 为了让过滤在 ViewModel 中工作而不是在代码隐藏中工作,请使用...
- 当...时使用视图集合,当...时使用 ViewModel 集合
- 90% 的时间我创建一个 ItemsControl 并将其绑定到具有自己的 ViewModel 的视图的 ObservableCollection...
我会使用 ViewModel 的 ObservableCollection ,原因如下:
- ObservableCollection 已经具有可用于在修改时发出信号的事件(例如,当在集合中添加/删除项目时)。
- 我们位于 ViewModel“层”,因此它提供了更清晰的分离,让 ViewModel 包含 ViewModel 的集合而不是视图
- 如果需要修改或获取集合中项目的数据,如果项目是 ViewModel,则可以更轻松地修改/访问该数据(如果它们是视图,您将经常转换视图的 DataContext 或访问其 UI 元素)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)