版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/CLeopard/article/details/40590373
这个问题要根据具体需求,实现的方法有很多。
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"