我知道其他帖子与此类似,但没有一个人完全回答我的问题。
我正在处理的WPF应用程序中有多个不同的可观察集合,我需要对它们进行简单的字母排序,使它们按字母顺序显示。
使用Linq有一个简单的方法吗?如果没有,还有另一种简单的方法吗?
答案 0 :(得分:2)
您可以提供自己的自定义排序逻辑,也可以使用CollectionView排序描述符属性对集合进行排序。首先看看这些链接,他们可能会有所帮助 - http://bea.stollnitz.com/blog/?p=17 http://www.wpftutorial.net/DataViews.html http://bea.stollnitz.com/blog/?p=24
答案 1 :(得分:1)
想到什么:
不确定您的具体需求。
答案 2 :(得分:0)
答案 3 :(得分:0)
看看这个http://mokosh.co.uk/post/2009/08/04/how-to-sort-observablecollection/
看起来干净简单的实施。
如果你只需要使用linq,你可以使用OrderBy扩展方法。有关orderby方法的更多信息是here
答案 4 :(得分:0)
您应该使用CollectionViewSource而不是ObservableCollection,或者您可以将您的集合包装在CollectionViewSource中。
public CollectionViewSource GetSortedView{
get{
CollectionViewSource view = new CollectionViewSource(myColl);
view.SortDescriptors.Add(new SortDescriptor("propertyname"), Ascending);
return view;
}
}
好处是,如果将此视图绑定到datagrid等,它将显示列排序标志,并让用户进行进一步排序。