c# - WPF Toolkit DataGrid 如何设置 Column Header SelectionBackground?

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

执行更改这些单元格上悬停背景颜色的简单任务需要什么魔法咒语???

谢谢

最佳答案

问题是 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/

相关文章:

wpf - 如何使 WPF 输入控件在触摸屏上获得焦点时显示虚拟键盘

c# - Windows 通用应用程序中的卡片 View Material 设计

wpf - 如何将渲染剪辑到圆角边框内?

c# - WPF Canvas 中的网格线

c# - DragEnter 和 DragLeave : Avoid nasty flickering on custom drag preview

c# - 从不同的文本文件将 .txt 文件中的文本写入富文本框?

c# - 计算非故障任务会导致重新执行每个任务

wpf - 渐变透明系统颜色 (WPF)

wpf - 依赖属性来填充列表或数组

c# - 使用 Vue JS 和 .Net Core Web API 等堆栈 - 我在哪里实现身份验证 (Azure AD)?