如何更改所选WPF DataGrid行标题的颜色

时间:2017-11-13 18:08:37

标签: c# wpf xaml datagrid

我有一个WPF DataGrid,其行标题中填充了(少量)文本,这很有效......直到你突出显示该行,当文本变为白色且几乎看不见时:

enter image description here

为了强制它保持黑色,我设置了以下代码,其中包含IsSelected触发器和显式DataTemplate,其颜色也已设置。

<DataGrid.RowStyle>
    <Style TargetType="DataGridRow">
        <Style.Triggers>
            <Trigger Property="IsSelected" Value="True">
                <Setter Property="Foreground" Value="Black"/>
            </Trigger>
        </Style.Triggers>
        <Setter Property="HeaderTemplate">
            <Setter.Value>
                <DataTemplate>
                    <TextBlock Foreground="Black" Text="{Binding}" />
                </DataTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</DataGrid.RowStyle>

不幸的是,这些都没有任何影响。在取消选择行之前,文本仍然是顽固的白色。

如何在选择时强制此文字保持黑色(或任何其他颜色)?

1 个答案:

答案 0 :(得分:0)

样式触发器在行本身而不是标题的模板项上定义。只需将触发器定义移动到标题模板即可。