【发布时间】:2011-10-08 07:16:05
【问题描述】:
假设我有一个 DataGrid,它的 ItemsSource 绑定到一个数据表(其列是不同的)。表的一列是具有多个 NaN 值的双精度类型。在显示部分,我想将所有 NaN 值格式化为空白。
我所做的是像这样为 DataGridCell 设置样式:
<Style TargetType="DataGridCell">
<Setter Property="Content" Value="{Binding Converter={StaticResource NumberConverter}}" />
</Style>
但它不起作用,因为单元格的 DataContext 是 DataRowView,这意味着我无法获得转换器中的哪一列。
任何人有一个好主意? 非常感谢。
【问题讨论】:
-
您在 XAML 中使用
ResourceDictionary来定义NumberConverter,而不需要每个DataGridCell的实例。 -
你说得对,我只是想更详细地展示我的表现;但实际上,这不是解决我的问题的解决方案。我试图创建一个具有显式运算符 double 的 DoubleWrpper 类;然后我为我的新类创建列作为数据表中的列之一。我不能以这种方式走得更远,因为该列将按字符串而不是双精度排序。然后我尝试实现ICompare接口,仍然没有效果。
标签: wpf datagrid cell-formatting