代码之家  ›  专栏  ›  技术社区  ›  Falcon

WPF工具包数据报:使用空值排序

  •  2
  • Falcon  · 技术社区  · 14 年前

    我要在绑定如下的列上对WPF工具箱数据报进行排序:

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

    现在,当对象为空时,消息为ArgumentException “至少一个对象必须实现IComparable” 将被抛出。

    解决这个限制的最佳方法是什么?我不想更改域模型以返回空对象模式。

    将转换器与直接绑定到对象结合使用可能会非常麻烦,因为我有许多这样的列和多个DataGrid。

    我应该为每个DataGrid编写一个自定义的ViewModel,并在itemssource属性上使用转换器吗?

    我很感激你的每一个建议!

    2 回复  |  直到 14 年前
        1
  •  1
  •   robertos    14 年前

    我将使用不同的策略:为一个对象创建一个视图模型,该对象具有一个公开属性的属性,并在所有数据报上使用它。当对象为空时,虚拟机应该能够发送适当的属性值。

        2
  •  0
  •   Community Justin Hirsch    7 年前

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

    WPF Datagrid sort on column with null elements

    为我的数据报实现了一个自定义排序器,它转换空值。