更改列标题背景数据网格UWP

更改列标题背景数据网格UWP,uwp,datagrid,uwp-xaml,windows-community-toolkit,Uwp,Datagrid,Uwp Xaml,Windows Community Toolkit,我目前正在从Nuget Microsoft.Toolkit.UWP.UI.Controls.DataGridxmlns:Controls=“using:Microsoft.Toolkit.UWP.UI.Controls”查看UWP数据网格,我想更改单列标题背景色,我尝试更改标题样式,但到目前为止还没有结果。以下是我的例子: <controls:DataGrid AutoGenerateColumns="False" AlternatingRowBackg

我目前正在从Nuget Microsoft.Toolkit.UWP.UI.Controls.DataGrid
xmlns:Controls=“using:Microsoft.Toolkit.UWP.UI.Controls”
查看UWP数据网格,我想更改单列标题背景色,我尝试更改标题样式,但到目前为止还没有结果。以下是我的例子:

        <controls:DataGrid AutoGenerateColumns="False" AlternatingRowBackground="LightGray"
                       ItemsSource="{Binding ListOfGrips}">
        <controls:DataGrid.Columns>

            <controls:DataGridTextColumn
                Header="First header"
                Width="SizeToHeader"
                Binding="{Binding DirectionType}"
                FontSize="15"
                Foreground="White">
                <controls:DataGridTextColumn.HeaderStyle>
                    <Style TargetType="primitives:DataGridColumnHeader">
                        <Setter Property="Background" Value="#58622D" />
                    </Style>
                </controls:DataGridTextColumn.HeaderStyle>
            </controls:DataGridTextColumn>

            <!-- Other columns -->
        </controls:DataGrid.Columns>
    </controls:DataGrid>


那么如何更改标题单元格的背景色呢?

目前,DataGrid没有为设置
DataGridColumnHeader的背景色提供属性

通过对的分析可以看出,
Background
属性实际上没有绑定到
BackgroundRectangle.Fill

如果要更改此行为,可能需要更多的附加代码,即重写
DataGridColumnHeader的样式

但是,由于
DataGrid
使用了大量自定义资源,因此在重写样式之前,需要创建一个资源字典来存储这些默认资源

DefaultDataGridResources.xaml


;
;
;
;
00:00:00.40
00:00:00.1
00:00:02.00
00:00:02
00:00:00.1
00:00:02.1
00:00:00.5
0.6
0.8
App.xaml中的引用

App.xaml



完成上述准备工作后,您可以修改我们的
DataGridColumnHeader

MainPage.xaml


用法