首页 > 解决方案 > 突出显示 DataGrid 中的空单元格

问题描述

我正在从数据表中填充数据网格。数据表是在运行时创建的,行数和列数未知。加载数据表时会创建列标题。如果数据表中有一个空单元格,我希望它突出显示。

我在这里看了答案。但它不起作用,它只突出显示单个列中的一个单元格,并且它们绑定到一个列。这是我做不到的。

我的代码:

<DataGrid x:Name="dataGrid" ItemsSource="{Binding DGLines}">
        <DataGrid.Columns>
            <DataGridTextColumn>
                <DataGridTextColumn.ElementStyle>
                    <Style TargetType="{x:Type TextBlock}">
                        <Style.Triggers>
                            <Trigger Property="Text" Value="">
                                <Setter Property="Background" Value="LightGreen"/>
                            </Trigger>
                        </Style.Triggers>
                    </Style>
                </DataGridTextColumn.ElementStyle>
            </DataGridTextColumn>
        </DataGrid.Columns>
    </DataGrid>

空单元格值实际上为空。我不确定这是否是问题所在。

在任何列中突出显示空单元格的正确样式是什么?

标签: wpfxaml

解决方案


您使用的是UserControlorWindow吗?如果是 Window 然后使用这个

   <Window.Resources>
        <Style  TargetType="{x:Type DataGridCell}">
            <Style.Triggers>
                <DataTrigger Binding="{Binding Path=Content.Text, RelativeSource={RelativeSource Self}}"  Value="" >
                    <Setter Property="Background" Value="LightGreen"/>
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </Window.Resources>

否则,如果它UserControl只是替换Window.ResourcesUserControl.Resources. 我相信已经有人问过类似的答案,但我找不到。


推荐阅读