突出显示DataGrid中的空单元格

时间:2018-08-06 18:05:22

标签: wpf xaml

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

我看着答案here。但是它不起作用,它仅突出显示单个列中的单元格,并且它们绑定到列。我做不到。

我的代码:

<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>

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

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

1 个答案:

答案 0 :(得分:2)

您使用的是UserControl还是Window? 如果是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.Resources替换为UserControl.Resources。 我相信已经问过类似的答案,但是我找不到。