我有大量由数据表承载的数据。大部分数据都是双精度数;然而,其中许多都是 NaN,如下所示:
我想将这些 NaN 值的显示更改为空白。我知道有某种类型的转换器可以实现这一目标,但我不太了解细节。我还知道我可以深入研究数据表中的每个单元格并以编程方式将 NaN 转换为字符串空白;然而,我正在寻找更简单的方法。
WinForms中的DataGrid有一个名为CellFormatting的事件,您可以在其中随意更改显示的文本。但是,我在 WPF 中找不到等效项。
如有任何帮助,我们将不胜感激。
请注意,数据表是动态的,因为列和行不是固定的。它们根据获得的数据而变化。
您可以将此
CellStyle
添加到您的 DataGrid
<DataGrid>
<DataGrid.CellStyle>
<Style TargetType="DataGridCell">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=Content.Text,
Mode=OneWay,
RelativeSource={RelativeSource Self}}"
Value="NaN">
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<TextBlock />
</DataTemplate>
</Setter.Value>
</Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</DataGrid.CellStyle>
</DataGrid>
警告: 视图中所有“NaN”都将为空白。