【问题标题】:When should you not use an ObservableCollection and Databinding?什么时候不应该使用 ObservableCollection 和数据绑定?
【发布时间】:2011-01-08 17:23:21
【问题描述】:

dhopton 的comment 让我思考。在哪些情况下您不想使用 ObservableCollection?

【问题讨论】:

    标签: .net wpf data-binding observablecollection


    【解决方案1】:

    当您希望更好地控制 ObservableCollection 发送的通知时。示例:默认实现虽然支持添加元素范围,但只是为整个集合抛出一个重置(我相信),而不是零碎地抛出一个包含所有新项目的通知。部分原因是 WPF 中的默认 CollectionView 不支持 Sizes > 1 的 INotifyCollectionChanged 通知(如果你这样做,它会抛出),所以它没有太大的动力。但是,如果您使用的是第 3 方网格,例如 Xceed,它有一个 CollectionView 派生,确实支持任意通知大小。这意味着当您将数据捆绑到列表中时,您可以通过将通知分组来获得一些相当不错的性能提升。

    请注意,有一些与通知大小、通知优先级相关的有趣拐点会影响感知性能和实际性能(两者都不是您的想法)。

    这是您希望接口松散的主要示例:我们键入 IList,并将实现更改为我们自己的异步加载集合,该集合在加载数据块时触发集合更改事件。 View 不必知道这种差异。它只是工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-07
      • 1970-01-01
      • 1970-01-01
      • 2015-12-05
      • 2011-09-03
      • 2011-01-11
      • 2012-09-22
      • 1970-01-01
      相关资源
      最近更新 更多