c# - 如何获取保留排序顺序的 ICollectionView 的源集合?
问题描述
在我的WPF
应用程序中,我有一个ICollectionView
用于在过滤和排序后在数据网格中显示数据列表的应用程序。一旦我按照我喜欢的方式进行过滤和排序,我想导出源集合并保留排序顺序。
我可以像这样过滤后得到我的基础源集合:
var items = CollectionViewSource.GetDefaultView(MyICollectionView).SourceCollection.Cast<MyItemType>();
这会很好地返回我过滤的项目,但它会丢失排序顺序。如何获得保留顺序的过滤列表?
我知道我可以得到如下的排序描述:
var sortDescriptions = CollectionViewSource.GetDefaultView(MyICollectionView).SortDescriptions;
但这仅以字符串格式返回排序属性,在我的情况下这对我没有帮助。
解决方案
CollectionViewSource.GetDefaultView(Control.ItemsSource);
此处的控件是您将集合“MyICollectionView”绑定到的项目控件。有关更多信息,请查看如何获取数据集合的默认视图
推荐阅读
- google-chrome-extension - 从 Chrome 90 开始,无法修改 X-Frame-Options 的响应标头
- sql - 同一删除查询上的页面级死锁
- docker - 服务器上的免费半径忽略身份验证请求
- python - flask 和 sqlite 更新可能为空的值
- javascript - 如何在执行 gsap 动画(fullpage.js)之前使内容不出现
- python - 为什么python函数考虑关键字参数的最后一个值
- reactjs - “TypeError:在 API 单元测试期间无法读取 null 的属性‘createEvent’”,反应为 0.0.0-experimental-0eea57724
- angular - 等到构造函数完成初始化
- flutter - 根据 Flutter 中的测验应用程序的答案更改屏幕的背景颜色
- java - 在 JAVA 程序中使用 switch case 时不执行矩阵运算