【发布时间】:2017-11-13 18:08:37
【问题描述】:
我有一个 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>
不幸的是,这些都没有任何效果。在取消选择该行之前,文本会一直保持白色。
如何在选中时强制此文本保持黑色(或任何其他颜色)?
【问题讨论】:
-
尝试将触发器移动到模板中
-
对单元格样式也这样做
-
@Steve 成功了!我想我在框外思考(或者,呃,XAML 元素)。如果您将其发布为我可以接受的答案。