【问题标题】:WPF Toolkit DataGrid: Sorting with Null ValuesWPF Toolkit DataGrid:使用空值排序
【发布时间】:2010-11-03 10:45:20
【问题描述】:

我想在这样绑定的列上对 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。

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

感谢每一个建议!

【问题讨论】:

    标签: c# wpf wpftoolkit wpfdatagrid


    【解决方案1】:

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

    【讨论】:

    • 但是我必须将 DataGrid 的 ItemSource(域实体列表)转换为包含 AnObject 的 ViewModel 的模型。非常感谢您的意见。
    【解决方案2】:

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

    WPF Datagrid sort on column with null elements

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

    【讨论】:

    • 嗯...这个链接链接回同一个问题!
    猜你喜欢
    • 2010-11-15
    • 2011-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-31
    • 2010-12-15
    • 2016-06-24
    • 2011-06-27
    相关资源
    最近更新 更多