自定义排序DataGrid而不使用ListCollectionView

时间:2012-08-04 19:09:33

标签: c# wpf sorting datagrid wpfdatagrid

我想为ItemsSource做自定义排序,因为我得到了这个例外:

  

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

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

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

1 个答案:

答案 0 :(得分:0)

我认为使用DataGrid的CollectionView或OOTB功能没有简单的排序方法。一个解决方案可能是将您绑定的列表排序为ItemsSource。