2012-02-24 65 views
1

我一直无法通过搜索找到它作为以前的请求,这很奇怪。我只是试图将多个排序条件应用于绑定到组合框的集合视图。WPF组合框/列表框或多个CollectionView的多个排序条件

我已经试过这样:

cmbRptCur.Items.SortDescriptions.Add(new SortDescription("Length", ListSortDirection.Ascending)); 
cmbRptCur.Items.SortDescriptions.Add(new SortDescription("Content", ListSortDirection.Ascending)); 

但仅应用于第一划分条件。它是一个字符串列表,我希望首先按字符串的长度排序,并按字母顺序升序排列。理想情况下,我想知道如何做到左右逢源,所以我可以做出最好的选择:)

回答

1

尝试以此为例:

var variable = ListSortDirection.Orderby(c => c.Length).ThenBy(n => n.Content) 

或类似的东西。

或者这样:

var variable = (from c in ListSortDirections 
     orderby c.Length, c.Content 
     select row).ToList(); 

只是作为一个例子。

+1

谢谢,我决定尝试LINQ路线,即使应该有另一种方式。我需要使用.Cast ()以可查询的格式获取它,并且它工作正常。我仍然想知道如何直接在组合框上执行操作,并且不需要使用LINQ。 即 (来自ListCollectionView.Cast ()order by c.Length,c select c).ToList()); – cOrOllArY 2012-02-24 16:05:11