Ksi*_*ice 3 wpf xaml observablecollection
使用性能是否有任何差异ObservableCollection,(据我了解)每次将项目添加到集合List时都会刷新视图,或者改为使用简单集合,并在所有元素都已添加时刷新整个视图?
List上面所描述的场景是否可能?那如何实现呢?
我问是因为我的 ItemsControl 很慢,我想知道使用简单的 List 而不是 ObservableCollection 会更好。我只需要一次刷新视图,而实际上所有元素都已添加到集合中。
ObservableCollection<T>执行IList<T>一样List<T>。主要的区别当然是,它实现INotifyCollectionChanged了允许 WPF 绑定到它。
在ObservableCollection<T>每次更改后引发的事件,因此UI可以进行刷新。如果您按顺序添加大量 Item,它可能会对您的性能产生一些影响,但这不太可能。您可以通过使用带有列表的构造函数来测试这个相当简单的:
var originalList = new List<SomeClass>();
foreach ([..])
{
originalList.Add(someInstance);
}
ObservableCollection<SomeClass> uiCollection = new ObservableCollection<SomeClass>(originalList);
Run Code Online (Sandbox Code Playgroud)
通过这种方式,您可以创建复杂的对象列表,完成后您可以从中创建一个 ObservableCollection,您将在 UI 上绑定到它。
| 归档时间: |
|
| 查看次数: |
5604 次 |
| 最近记录: |