WPF Toolkit DataGrid如何设置Column Header SelectionBackground?

时间:2014-08-29 19:58:17

标签: c# wpf xaml wpftoolkit

我只想将数据网格中列标题的背景更改为带有白色文本的蓝色。我终于能够,但列标题的鼠标悬停和选择样式将背景更改为白色。你可以想象白色背景上的白色文字不会。

出于某种原因,这是最难以改变的事情。

我尝试使用样式:(没有效果)

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

在这些细胞上执行改变悬停背景颜色的简单任务需要什么神奇的咒语?

由于

1 个答案:

答案 0 :(得分:0)

问题在于Background本身并未处理ColumnManagerCell,而是Border

达到最好是困难所以如果您唯一关心的是可读性,那么只需使用Foreground设置Trigger

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

你也可以改变整个模板,由你来判断它是否值得痛苦......