【问题标题】:CollectionViewSource with Sort get sorted Items使用 Sort 的 CollectionViewSource 获取已排序的项目
【发布时间】:2013-01-07 15:36:33
【问题描述】:

我有一个datagrid,它的源CollectionViewSource 具有自定义排序功能,我需要获取已排序的项目集合,如数据网格中所示。我可以得到排序的描述和排序的源集合,但我需要这个集合很多次。

有什么方法可以让排序的集合启用索引 (item[index])?

【问题讨论】:

    标签: c# wpf collectionviewsource


    【解决方案1】:

    CollectionViewSource 的View 属性返回一个排序的ICollectionView。由于这是一个 IEnumerable,您可以使用 Linq 从中创建一个 List,可以通过索引访问:

    // using System.Linq;
    
    var list = collectionView.View.Cast<object>().ToList();
    var firstItem = list[0];
    

    【讨论】:

    • Cast 很快,但ToList 可能会创建整个集合的副本。
    • 删减到var firstItem = collectionView.View.Cast&lt;object&gt;().First()
    • @BillLefler 是的,但问题是如何获取可以通过索引访问的列表。 firstItem = list[0] 只是一个示例访问。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-11
    • 1970-01-01
    • 2013-09-29
    • 2023-03-04
    • 1970-01-01
    相关资源
    最近更新 更多