You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WinUI 3中DataGrid字体属性(如字号)设置方法咨询

WinUI 3 DataGrid 表头字体修改问题解答

NuGet包纠正

微软商店中WinUI3应用展示的DataGrid对应的NuGet包Microsoft.Toolkit.UWP.UI.Controls.DataGrid是错误的,WinUI项目应使用的正确包为:

CommunityToolkit.WinUI.UI.Controls.DataGrid

问题解答

1. 你写的代码不是修改表头字号的正确方式

你通过ElementStyle设置的是表格单元格内容的样式,而非表头的样式。要修改表头的字体属性,需要使用HeaderStyle属性,示例代码如下:

<controls:DataGrid.Columns>
    <controls:DataGridTextColumn Header="Name" Tag="Name">
        <!-- 单元格内容样式(原代码作用的部分) -->
        <controls:DataGridTextColumn.ElementStyle>
            <Style TargetType="TextBlock">
                <Setter Property="FontSize" Value="5" />
            </Style>
        </controls:DataGridTextColumn.ElementStyle>
        <!-- 表头样式设置 -->
        <controls:DataGridTextColumn.HeaderStyle>
            <Style TargetType="controls:DataGridColumnHeader">
                <Setter Property="FontSize" Value="14" />
                <!-- 可额外设置其他字体效果,比如加粗 -->
                <Setter Property="FontWeight" Value="Bold" />
            </Style>
        </controls:DataGridTextColumn.HeaderStyle>
    </controls:DataGridTextColumn>
</controls:DataGrid.Columns>

2. 无需为每个表头手动设置,可全局统一配置

不需要逐个列手动设置表头样式,你可以直接在DataGrid的资源中定义全局样式,让所有列的表头自动继承,示例代码:

<controls:DataGrid>
    <controls:DataGrid.Resources>
        <Style TargetType="controls:DataGridColumnHeader">
            <Setter Property="FontSize" Value="14" />
            <Setter Property="FontFamily" Value="Segoe UI" />
            <Setter Property="Foreground" Value="#333" />
        </Style>
    </controls:DataGrid.Resources>
    <!-- 列定义内容 -->
</controls:DataGrid>

内容的提问来源于stack exchange,提问作者VMi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 04:28:02