C# 不带ListCollectionView的自定义排序数据网格

C# 不带ListCollectionView的自定义排序数据网格,c#,wpf,sorting,datagrid,wpfdatagrid,C#,Wpf,Sorting,Datagrid,Wpfdatagrid,我想对我的项目资源进行自定义排序,因为我得到了以下异常: 无法比较数组中的两个元素 这是显而易见的,因为我使用了一个转换器类来显示基于对象的正确值。对象的类型为object,可以包含多种类型,因此排序在这里不起作用。我上网了,但唯一的解决办法是使用ListCollectionView,而我的不是。这不是一件坏事,除了另一个CollectionView类没有为我们提供CustomSort属性之外 解决这个问题的一种方法是使用DataGridTextColumn上的SortMemberPath属性,

我想对我的
项目资源进行自定义排序,因为我得到了以下异常:

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

这是显而易见的,因为我使用了一个转换器类来显示基于对象的正确值。对象的类型为
object
,可以包含多种类型,因此排序在这里不起作用。我上网了,但唯一的解决办法是使用
ListCollectionView
,而我的不是。这不是一件坏事,除了另一个
CollectionView
类没有为我们提供
CustomSort
属性之外


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

我认为使用DataGrid的CollectionView或OOTB功能进行排序是不容易的。一种解决方案是对绑定为ItemsSource的列表进行排序