【发布时间】:2009-09-22 18:08:16
【问题描述】:
我在一个表单中有两个组合框,它们具有确切的 itemssource 属性。两个组合框都需要排序,但有两种不同的方式。一个按 ID(数字)排序,另一个按名称(字母)排序。
这样的事情有可能吗?
谢谢
【问题讨论】:
我在一个表单中有两个组合框,它们具有确切的 itemssource 属性。两个组合框都需要排序,但有两种不同的方式。一个按 ID(数字)排序,另一个按名称(字母)排序。
这样的事情有可能吗?
谢谢
【问题讨论】:
CollectionView 就是为此而生的:http://bea.stollnitz.com/blog/?p=38
【讨论】:
如何在 WPF 中对列表框和组合框进行排序 http://www.kudzuworld.com/Blogs/Tech/20070815A.en.aspx
由于 WPF 没有为其组合框提供“排序顺序”属性,因此您需要两个不同的集合。
在我上面提供的链接中,评论者使用 ListCollectionView 对象发布了以下方法来获取自定义排序。这允许使用来自数据源的单个集合,同时添加额外的集合层进行排序:
// Using System.ComponentModel;
ListCollectionView view = new ListCollectionView (channel.Members);
view.SortDescriptions.Add(new SortDescription("lastName", ListSortDirection.Ascending);
view.SortDescriptions.Add(new SortDescription("firstName", ListSortDirection.Ascending);
view.CustomSort = new IComparerImplementation; //Do this if you want a custom sort;
view.Refresh();
【讨论】: