WPF设置全局字体和字体嵌入

这个问题要根据具体需求,实现的方法有很多。

1 比如,可以在MainWindow中设置

<Window x:Class="CLeopardTestWpf.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="414" Width="615" FontFamily="Comic Sans MS">

这样在这个Window中显示的文字都是“Comic Sans MS”字体了。

2 再比如,可以定义一个全局的Style,通过这个Style去设置全局的字体和尺寸:

<Application.Resources>
    <Style TargetType="{x:Type TextElement }">
        <Setter Property="FontFamily" Value="Comic Sans MS"/>
        <Setter Property="FontSize" Value="30"/>
    </Style>
    <Style TargetType="{x:Type TextBlock }">
        <Setter Property="FontFamily" Value="Comic Sans MS"/>
        <Setter Property="FontSize" Value="30"/>
    </Style>
</Application.Resources>

因为WPF使用了2个主要的control去显示文字,一个是TextElement,另一个是TextBlock,设置了这两个style,你的全局字体应该会改变。

3 另一种方案是实用“OverrideMetadata"去重新设置你应用程序的默认字体,参考:

TextElement.FontFamilyProperty.OverrideMetadata(typeof(TextElement), newFrameworkPropertyMetadata(new FontFamily("Comic Sans MS")));
TextBlock.FontFamilyProperty.OverrideMetadata(typeof(TextBlock), new FrameworkPropertyMetadata(newFontFamily("Comic Sans MS")));

4 字体嵌入[添加字体到Resource中]

Value="Comic Sans MS"
改为

Value="Resource/#Comic Sans MS"
 

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值