首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >排序ObservableCollection

排序ObservableCollection
EN

Stack Overflow用户
提问于 2011-04-27 12:04:15
回答 4查看 15.2K关注 0票数 14

假设我有雇员类的ObservableCollection

代码语言:javascript
复制
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”属性。

谢谢……

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-04-27 12:10:53

可以对集合的视图进行排序,而不是对集合本身进行排序:

代码语言:javascript
复制
// 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:

代码语言:javascript
复制
ItemsSource="{Binding Source={StaticResource ItemListViewSource}}"
票数 27
EN

Stack Overflow用户

发布于 2011-04-27 13:00:47

我认为PVitt可能有最好的解决方案.但是,我确实找到了这个SortedObservableCollection类,可能会有帮助吗?

http://softcollections.codeplex.com/

票数 3
EN

Stack Overflow用户

发布于 2014-05-25 14:54:45

我实现了一个ObservableCollectionView,它支持使用lambda (像LINQ但活动)和项跟踪来进行排序和过滤:

https://mytoolkit.codeplex.com/wikipage?title=ObservableCollectionView

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5803786

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档