我想在一个绑定的列上对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吗?
我感谢每一个建议!
答案 0 :(得分:1)
我采用不同的策略:为AnObject创建一个ViewModel,其属性公开AProperty并在所有DataGrids上使用它。当AnObject为空时,VM应该能够在AProperty上发送适当的值。
答案 1 :(得分:0)