我有一个WPF DataGrid,其行标题中填充了(少量)文本,这很有效......直到你突出显示该行,当文本变为白色且几乎看不见时:
为了强制它保持黑色,我设置了以下代码,其中包含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>
不幸的是,这些都没有任何影响。在取消选择行之前,文本仍然是顽固的白色。
如何在选择时强制此文字保持黑色(或任何其他颜色)?
答案 0 :(得分:0)
样式触发器在行本身而不是标题的模板项上定义。只需将触发器定义移动到标题模板即可。