在WPF中未正确显示项目控制修改

时间:2017-11-16 14:52:17

标签: c# wpf list sorting observable

我有与List绑定的项目控件。当我尝试在该列表中添加项目时,它不会反映在项目控件(UI)中。但是当替换Observable Collection而不是list时它是完美的工作原因是什么原因你可以帮助我吗?

是否可以直接对可观察集合进行排序?

1 个答案:

答案 0 :(得分:2)

不同之处在于ObservableCollection<T>类实现了INotifyCollectionChanged接口,并在添加和删除项目时引发CollectionChanged事件。这是UI自动更新所必需的。 List<T>未实现此接口。

  

是否可以直接对可观察集合进行排序?

对源集合本身进行排序的最简单方法是在创建它时将已排序的IEnumerable传递给它:

this.Collection = new ObservableCollection<Type>(list.OrderBy(x => x.Property));

它没有内置Sort方法,可以在内部对项目进行排序。