WPF GUI中用于速度的最佳集合

时间:2013-03-27 19:08:32

标签: wpf performance listview collections

我有一个列表视图,其中包含“行”列表,其中包含“列”列表。现在,我使用List来表示行和列(即我有一个List,它是Rows objet,我有一个List,但随着数字越来越大,更新GUI所需的时间和程序的整体性能得到非常糟糕。另外,当项目(行中的列)发生变化时,GUI不会被通知,所以我必须做一个Item.Refresh,这似乎每次刷新整个事情,增加了慢性能

是否还有其他类型的物品可以用来加速整个物体。意味着它需要满足以下几点: - 列表更快 - 当我添加新行时,列表视图会更新。是可能的,只添加新行而不是整个列表视图。 - 当我更改Columns对象时,GUI会更新。如果可能,只会修改已修改的列objet,因此不会更改整个Listview。

请注意,场景后面有很多用于显示列对象的实际计算。我目前正在努力优化这一目标,但我非常确定使用更好的集合会在这里有很多帮助。

由于

1 个答案:

答案 0 :(得分:2)

我相信你要找的是Observable Collection

此类集合类型将在添加项目时触发CollectionChanged事件。您不需要刷新集合,因为WPF控件支持开箱即用。

注意

更新单个元素时,不会触发CollectionChanged事件。如果您希望在UI上显示这些更新,则集合中的对象应实现INotifyPropertyChanged