相关疑难解决方法(0)

155
推荐指数
5
解决办法
10万
查看次数

如何避免在替换所有元素或添加元素集合时多次触发ObservableCollection.CollectionChanged

我有ObservableCollection<T>集合,我想用新的元素集合替换所有元素,我可以这样做:

collection.Clear(); 
Run Code Online (Sandbox Code Playgroud)

要么:

collection.ClearItems();
Run Code Online (Sandbox Code Playgroud)

(顺便说一句,这两种方法有什么区别?)

我也foreach可以collection.Add一个接一个地使用,但这会多次发射

添加元素集合时也一样.

编辑:

我在这里找到了一个很好的库:增强的ObservableCollection能够延迟或禁用通知,但它似乎不支持silverlight.

c# silverlight observablecollection

42
推荐指数
3
解决办法
2万
查看次数

ObservableCollection数据绑定性能

我想知道为什么根据这篇文章和可观察集合比WPF中的List <>集合明显更快地绑定(20毫秒vs 1685毫秒,比800倍快).我查看了ObservableCollection的内部,它使用List作为它的存储集合对象(我使用了反射器并在构造函数中看到了这个)

public Collection()
{
    this.items = new List<T>();
}
Run Code Online (Sandbox Code Playgroud)

那么这里发生了什么?

c# data-binding collections wpf observablecollection

5
推荐指数
1
解决办法
2512
查看次数