gpt4 book ai didi

mvvm - 我应该在 M-V-VM 的模型中使用 ObservableCollections

转载 作者:行者123 更新时间:2023-12-03 10:20:06 24 4
gpt4 key购买 nike

我对 M-V-VM 完全陌生,对 Silverlight 也很陌生,今天才第一次读到它。作为示例,我正在创建一个包含项目列表的模型。我的(Silverlight 4) View 包含一个列表框,我的 ViewModel 将查看模型以检索列表框将绑定(bind)到的集合。

我的问题是这个。我认为最好使用 ObservableCollection 来保存列表框绑定(bind)的项目。这将是 ViewModel 中的 ObseravleCollection。我应该在模型中也使用这种类型的集合,还是应该使用另一种集合类型并在模型和 View 模型之间进行 smoe 转换?

最佳答案

有 3 个基本场景(按照复杂度递增的顺序):

  • 模型只是提供对后端服务的访问,并且根本不缓存流经它的数据
  • 模型暴露了一个项目的集合,虚拟机没有自己的集合,然后 View 被简单地绑定(bind)到模型对象中的集合
  • 模型暴露了一个数据源,虚拟机有自己的集合作为进入这个数据源的窗口, View 绑定(bind)到虚拟机中的集合。

  • 在第一种情况下,您将使用 List 将请求的数据简单地传递给 vms,在其他情况下,您将使用 ObservableCollection 以便通过绑定(bind)正确更新 View (案例#2)或 vms 可以正确更新自己的集合(案例#3)

    关于mvvm - 我应该在 M-V-VM 的模型中使用 ObservableCollections,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3035982/

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