更改所有元素的FontFamily

时间:2015-05-13 09:03:21

标签: c# wpf

在我的应用程序中,是否可以通过简单快捷的方式更改所有元素(文本块,文本框等)的FontFamily?

我使用ModernUI来定义很多不错的样式。我最好不要手动改变这些。像这样设置FontFamily应用程序

GET /offers/summer2015 HTTP/1.1
Host: my.api.com
Accept: application/vnd.v0.1.0+json

无效。我也在我的App.xaml

中尝试了这个
public MainWindow()
{
    ...
    this.FontFamily = new FontFamily("Comic Sans MS");
}

它改变了某些元素的字体,但不是所有元素。例如,如果在元素上设置了诸如 <Style TargetType="{x:Type TextBlock}"> <Setter Property="FontFamily" Value="Comic Sans MS"/> </Style> 之类的样式,则通过App.xaml更改字体无效。

2 个答案:

答案 0 :(得分:0)

您需要搜索“DefaultFontFamily”,因为它指向themes of ModernUI中使用的字体。

答案 1 :(得分:0)

因为FontFamily是TextBlock和其他控件的不同属性:

TextBlock : FrameworkElement
Control : FrameworkElement

并且每个人都拥有自己的FontFamily属性,因此您必须为TextBlock设置样式,为Control设置另一种样式。

 <Style TargetType="{x:Type TextBlock}">
     <Setter Property="FontFamily" Value="Comic Sans MS"/>
 </Style>

 <Style TargetType="{x:Type Control}">
     <Setter Property="FontFamily" Value="Comic Sans MS"/>
 </Style>