如何在WPF中修改字体系列?导入自定义字体不生效怎么解决?
WPF Label自定义字体不生效排查方案
1 基础配置检查
- 选中fonts文件夹下的所有自定义字体文件,右键打开属性面板,将
生成操作设置为资源,复制到输出目录设置为如果较新则复制,确保字体文件被正确打包进程序集。 - 确认引用时填写的字体名称正确:# 后跟随的是字体实际名称,不是字体文件的文件名。你可以双击打开本地的字体文件,查看顶部显示的正式字体名,引用时必须和该名称完全一致。
示例:如果字体文件名为CustomFont.ttf,打开后显示的字体名为「站酷快乐体」,引用时需要写为FontFamily="./fonts/#站酷快乐体",而非填文件名。 - 检查样式优先级:如果是通过全局样式设置Label字体,确认单个Label控件没有单独设置FontFamily属性覆盖全局样式。
- 排查字体兼容问题:如果你设置了
FontWeight、FontStyle等属性,确认你使用的自定义字体包含对应的字重/样式版本,不存在的话WPF会自动回退到系统默认字体。
2 正确写法示例
单个Label直接指定字体
<Label Content="测试文本" FontFamily="./fonts/#站酷快乐体" FontSize="24"/>
全局样式统一设置所有Label字体
<Window.Resources> <Style TargetType="Label"> <Setter Property="FontFamily" Value="./fonts/#你的字体实际名称"/> </Style> </Window.Resources>
3 验证排查方法
可以先将自定义字体安装到当前系统中,直接设置FontFamily="字体实际名称"测试是否生效,如果可以正常显示则说明问题出在项目内的字体引用配置或生成操作设置上。
内容的提问来源于stack exchange,提问作者Azu
相关产品推荐
相关产品推荐

