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

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


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

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

结合使用Converters和直接绑定到AnObject可能会很麻烦,因为我有很多这样的列,并且有多个DataGrid。

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

我感谢每一个建议!

最佳答案

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

关于c# - WPF工具包DataGrid:按空值排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4086234/

10-17 01:53