无法更改DataGrid Winui3中DataGridColumnHeader的背景颜色

问题描述 投票:0回答:1

我正在创建一个 WinUI3 项目并使用来自

的 Datagrid
CommunityToolkit.WinUI.UI.Controls.DataGrid

我无法使用 Setter 更改 DataGridColumnHeader,而 Foreground 更改得很好。我的代码:

 <controls:DataGrid.ColumnHeaderStyle>
   <Style TargetType="primitives:DataGridColumnHeader">
   <Setter Property="FontSize" Value="10"/>
   <Setter Property="FontWeight" Value="Bold"/>
   <Setter Property="HorizontalAlignment" Value="Stretch"/>
   <Setter Property="Background" Value="Green"/>       //This doesnt work                        
   <Setter Property="Foreground" Value="Red"/> //This works
                     
   </Style>
                           
</controls:DataGrid.ColumnHeaderStyle>

输出

enter image description here

无论我做什么,标题背景仍然是白色的。我应该如何更改列标题背景颜色?

编辑

我在 Github 上看到了一个关于它的问题,但我不明白如何实现它!

https://github.com/CommunityToolkit/WindowsCommunityToolkit/issues/3393
xaml winui-3 winui windows-community-toolkit
1个回答
1
投票

您需要覆盖这 3 种颜色:

<Page.Resources>
    <Color x:Key="GreenishColor">#FF60B560</Color>
    <Color x:Key="YellowishColor">#FFFFF700</Color>
    <Color x:Key="BlueishColor">#FF00e5ff</Color>
    <StaticResource x:Key="DataGridColumnHeaderBackgroundColor" ResourceKey="GreenishColor"/>
    <StaticResource x:Key="DataGridColumnHeaderHoveredBackgroundColor" ResourceKey="YellowishColor"/>
    <StaticResource x:Key="DataGridColumnHeaderPressedBackgroundColor" ResourceKey="BlueishColor"/>
</Page.Resources>

您也可以在您的

DataGrid
内执行此操作,如下所示:

<controls:DataGrid>
    <controls:DataGrid.Resources>
        <Color x:Key="GreenishColor">#FF60B560</Color>
        <Color x:Key="YellowishColor">#FFFFF700</Color>
        <Color x:Key="BlueishColor">#FF00e5ff</Color>
        <StaticResource x:Key="DataGridColumnHeaderBackgroundColor" ResourceKey="GreenishColor"/>
        <StaticResource x:Key="DataGridColumnHeaderHoveredBackgroundColor" ResourceKey="YellowishColor"/>
        <StaticResource x:Key="DataGridColumnHeaderPressedBackgroundColor" ResourceKey="BlueishColor"/>
    </controls:DataGrid.Resources>
</controls:DataGrid>
© www.soinside.com 2019 - 2024. All rights reserved.