如何对ObservableCollection进行排序?

7

我尝试过:

Persons = from i in Persons orderby i.Age select i;

但我无法将Linq的System.Linq.IOrderedEnumerable转换为ObservableCollection<Person>

3个回答

19

您只需要创建一个新实例。

Persons = new ObservableCollection<Person>(from i in Persons orderby i.Age select i);

18
这可能会破坏正在使用 ObservableCollection 的任何绑定。 - David S.
1
@DavidS 如果包含它的类实现了 IPropertyNotifyChanged 接口并且集合属性被正确设置,那么这不应该是一个问题。 - PhonicUK
它不会破坏任何东西,你只需要使用一些类来通知数据更新。 - Piero Alberto
如果每次都要替换整个集合,那么使用ObservableCollection就没有任何意义了。 - geniusburger

1

0
你可能想要从已排序的可枚举对象中简单地创建一个新的 `ObservableCollection`。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接