但这不管用。将类型设置为TextBlock适">
我希望能够为我的WPF应用程序定义字体系列。优选地,使用资源字典作为从App.xaml
引用的主题。我尝试创建了一个Style
,如下所示:
<Style TargetType="{x:Type Control}">
<Setter Property="FontFamily" Value="Segoe UI" />
</Style>
但这不管用。将类型设置为TextBlock
适用于大多数控件,但也有少数控件不适用。
我知道您可以在窗口上设置字体,并让该窗口的所有子控件继承该字体。但我认为任何对话框窗口都会回到默认字体,这并不是我想要的。
有什么想法吗?
发布于 2010-06-30 00:41:43
假设您的Window
子类没有覆盖DefaultStyleKey
,您可以简单地将其添加到您的窗口样式中,因为TextElement.FontFamilyProperty
是一个继承的属性:
<Style TargetType="{x:Type Window}">
<Setter Property="FontFamily" Value="Segoe UI" />
</Style>
在InitializeComponent
调用之后,您还需要将以下内容添加到您的应用构造函数中:
FrameworkElement.StyleProperty.OverrideMetadata(typeof(Window), new FrameworkPropertyMetadata
{
DefaultValue = FindResource(typeof(Window))
});
工作原理: App对象初始化完成后,其中指定的窗口样式将成为所有窗口的默认样式。
发布于 2014-11-19 15:46:04
大多数提出的解决方案对我来说都不起作用。我的简单解决方案是:
将此代码添加到App.xaml:
<Style TargetType="{x:Type Window}">
<Setter Property="FontSize"
Value="14" />
</Style>
将此代码添加到您的MainWindow构造函数中(在InitializeComponent之后):
Style = (Style)FindResource(typeof(Window));
发布于 2014-10-07 17:06:32
一种简单的编程方法是:
public MainWindow()
{
this.FontFamily = new FontFamily("Segoe UI");
}
https://stackoverflow.com/questions/3145511
复制相似问题