没有 ListCollectionView 的自定义排序数据网格

本文关键字:数据 数据网 网格 排序 自定义 ListCollectionView 没有 | 更新日期: 2024-10-25 17:19:17

我想为我的ItemsSource进行自定义排序,因为我收到以下异常:

无法比较数组中的两个元素。

这很明显,因为我使用转换器类来显示基于对象的适当值。该对象属于 object 类型,可以包含多个类型,因此排序在这里不起作用。我上网了,但唯一的解决方案是ListCollectionView,而我的不是。这不是一件坏事,除了另一个CollectionView类没有为我们提供CustomSort属性。

我可以解决这个问题的一种方法是在DataGridTextColumn上使用 SortMemberPath 属性,但这远非理想,因为我需要为我显示的每个属性创建一个新属性(使用转换器)。这会导致不必要的混乱,并使我的课程看起来很糟糕。这个"解决方案"对我来说似乎也是一个完整的解决方法,我希望有一个更好的解决方案。唯一的问题是,我找不到它,有谁知道更好的方法?

没有 ListCollectionView 的自定义排序数据网格

我认为没有

简单的方法可以使用DataGrid的CollectionView或OOTB功能进行排序。一种解决方案可能是对绑定为项目源的列表进行排序。