WPF Toolkit DataGrid:使用Null值排序

时间:2010-11-03 10:45:20

标签: c# wpf wpftoolkit wpfdatagrid

我想在一个绑定的列上对WPF-Toolkit DataGrid进行排序:

<toolkit:DataGrid.Columns>
    <toolkit:DataGridTextColumn Header="MyColumn" Binding="{Binding AnObject.AProperty}" />
</toolkit:DataGrid.Columns>

现在,当AnObject为null时,将抛出带有消息“至少一个对象必须实现IComparable”的ArgumentException。

解决此限制的最佳方法是什么?我真的不想更改域模型以返回NullObject-Pattern。

将转换器与直接绑定到AnObject结合使用可能会变得非常麻烦,因为我有很多列和多个DataGrid。

我应该编写自定义ViewModel foreach DataGrid并在ItemsSource属性上使用Converter吗?

我感谢每一个建议!

2 个答案:

答案 0 :(得分:1)

我采用不同的策略:为AnObject创建一个ViewModel,其属性公开AProperty并在所有DataGrids上使用它。当AnObject为空时,VM应该能够在AProperty上发送适当的值。

答案 1 :(得分:0)

在这里找到最佳解决方案:

WPF Datagrid sort on column with null elements

为我的DataGrids实现了一个自定义排序器,它可以转换空值。