什么时候不应该使用ObservableCollection和Databinding?

时间:2010-01-24 05:27:14

标签: .net wpf data-binding observablecollection

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

1 个答案:

答案 0 :(得分:2)

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

请注意,有一些有趣的拐点与通知大小,影响感知效果和实际效果的通知的优先级相关(均不是您的想法)。

这是为什么你希望你的接口松散的一个主要例子:我们输入IList,并将我们的实现改为我们自己的异步加载集合,当我们加载数据块时,它会触发集合改变的事件。 View不必知道这种差异。它只是有效。