gpt4 book ai didi

wpf - 我的 ViewModel 是否应该有一个 ObservableCollection 的 Views 或 ViewModels?

转载 作者:行者123 更新时间:2023-12-04 02:06:36 24 4
gpt4 key购买 nike

我试图了解使用 时的基本 MVVM 设计方法项目控制 通过 绑定(bind)它数据模板 可观察集合 在 View 模型上。

我见过绑定(bind)到 的 ObservableCollections 的示例。字符串 , 浏览量 , 和 查看模型 .

绑定(bind)到字符串似乎仅适用于 演示 ,正是绑定(bind)到“ ViewModels that contains Views collection of Views ”,WPF 的威力似乎才真正发挥出来。

对于那些精通 MVVM 模式的用户,您将 ItemsControl、ListView、ListBox 绑定(bind)到 ViewModel 中的集合的标准方法是什么? 我正在从这样的经验中寻求建议:

  • 总是使用 ObservableCollection<...> 而从不使用 List<...> 因为...
  • 比 ItemsControl 更好的显示集合是...
  • 为了让过滤在您的 ViewModel 中而不是代码隐藏中起作用,请使用...
  • 在...时使用 View 集合,在...时使用 View 模型集合
  • 90% 的时间我创建了一个 ItemsControl 并将它绑定(bind)到一个 ObservableCollection 的 Views 中,这些 Views 有自己的 ViewModels...
  • 最佳答案

    出于以下原因,我会使用 ViewModel 的 ObservableCollection:

  • ObservableCollection 已经有事件可用于在它被修改时发出信号(例如,当从集合中添加/删除项目时)。
  • 我们位于 ViewModel 的“层”,因此它提供了更清晰的分离,让 ViewModel 包含 ViewModel 的集合而不是 View
  • 如果需要从集合中的项目修改或获取数据,如果项目是 ViewModel,您可以更轻松地修改/访问该数据(如果它们是 View ,您将经常转换 View 的 DataContext 或访问其 UI 元素)。
  • 关于wpf - 我的 ViewModel 是否应该有一个 ObservableCollection 的 Views 或 ViewModels?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/964751/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com