假设我有雇员类的ObservableCollection
public ObservableCollection<Employee> employeeCollection = new ObservableCollection<Employee>();
public class Employee
{
public string FirstName { get; set; }
public string LastName { get; set; }
public double MobileNumber { get; set; }
public string City { get; set; }
public int Age { get; set; }
public Employee() {}
}现在,我试图通过用户从comboboxit中选择适当的ObservableCollection (“employeeCollection”)来对…进行排序。.Sort按首名….Sort By MobileNumber等…。。
并且需要获取排序的可观察集合…。.的意思是不应该以“var”的形式存在,而应该是。
因此,我可以将它分配回“ItemsControl”…的“ItemsControl”属性。
谢谢……
发布于 2011-04-27 12:10:53
可以对集合的视图进行排序,而不是对集合本身进行排序:
// xmlns:scm="clr-namespace:System.ComponentModel;assembly=WindowsBase"
<myView.Resources>
<CollectionViewSource x:Key="ItemListViewSource" Source="{Binding Itemlist}">
<CollectionViewSource.SortDescriptions>
<scm:SortDescription PropertyName="SortingProperty" />
</CollectionViewSource.SortDescriptions>
</CollectionViewSource>
</myView.Resources>然后可以使用CollectionViewSource作为ItemSource:
ItemsSource="{Binding Source={StaticResource ItemListViewSource}}"发布于 2011-04-27 13:00:47
我认为PVitt可能有最好的解决方案.但是,我确实找到了这个SortedObservableCollection类,可能会有帮助吗?
http://softcollections.codeplex.com/
发布于 2014-05-25 14:54:45
我实现了一个ObservableCollectionView,它支持使用lambda (像LINQ但活动)和项跟踪来进行排序和过滤:
https://mytoolkit.codeplex.com/wikipage?title=ObservableCollectionView
https://stackoverflow.com/questions/5803786
复制相似问题