代码之家  ›  专栏  ›  技术社区  ›  kevindaub

什么时候不应该使用ObservableCollection和数据绑定?

  •  1
  • kevindaub  · 技术社区  · 16 年前

    达霍顿 comment 让我思考。在某些情况下,您不想使用ObservableCollection?

    1 回复  |  直到 16 年前
        1
  •  2
  •   Dominic Hopton    16 年前

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

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

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

    推荐文章