我只想将数据网格中列标题的背景更改为蓝色和白色文本。我终于能够,但是列标题的鼠标悬停和选择样式将背景更改为白色。正如您可以想象的那样,白色背景上的白色文本是行不通的。
出于某种原因,这是最难改变的事情。
我尝试使用样式:(没有效果)
<Style TargetType="{x:Type xcdg:ColumnManagerCell}">
<Setter Property="SelectionBackground" Value="Black" />
<Setter Property="Background" Value="#475463" />
<Setter Property="FontWeight" Value="Bold" />
<Setter Property="Foreground" Value="White" />
</Style>
我尝试在 Grid 本身中这样做(只是抛出一个错误)
<xcdg:DataGridControl ....
<xcdg:ColumnManagerCell SelectionBackground="Black"></xcdg:ColumnManagerCell>
执行更改这些单元格上悬停背景颜色的简单任务需要什么魔法咒语???
谢谢
最佳答案
问题是 Background
不是由 ColumnManagerCell
本身处理的,而是由其中的 Border
处理的。
达到它充其量是困难的,所以如果您唯一关心的是可读性,那么只需使用 Trigger
设置 Foreground
:
<Style TargetType="xcdg:ColumnManagerCell">
<Setter Property="Background" Value="#475463" />
<Setter Property="FontWeight" Value="Bold" />
<Setter Property="Foreground" Value="White" />
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Foreground" Value="Black"></Setter>
</Trigger>
</Style.Triggers>
</Style>
您也可以更改整个模板,由您来判断这是否值得……
关于c# - WPF Toolkit DataGrid 如何设置 Column Header SelectionBackground?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25575387/