gpt4 book ai didi

c# - 如何设置 WPF 应用程序的默认字体?

转载 作者:IT王子 更新时间:2023-10-29 03:42:13 24 4
gpt4 key购买 nike

我希望能够为我的 WPF 应用程序定义字体系列。最好使用资源字典作为从 App.xaml 引用的主题。我已经尝试创建一个 Style 如下:

<Style TargetType="{x:Type Control}">
<Setter Property="FontFamily" Value="Segoe UI" />
</Style>

但这行不通。将类型设置为 TextBlock 适用于大多数控件,但有一些控件不适用。

我知道您可以在窗口上设置字体并让该窗口的所有子控件继承该字体。但我认为任何对话框窗口都会恢复为默认字体,这并不是我想要的。

有什么想法吗?

最佳答案

假设您的 Window 子类没有覆盖 DefaultStyleKey,您可以简单地将它添加到您的 Window 样式中,因为 TextElement.FontFamilyProperty 是一个继承属性:

<Style TargetType="{x:Type Window}"> 
<Setter Property="FontFamily" Value="Segoe UI" />
</Style>

您还需要在 InitializeComponent 调用之后将以下内容添加到您的 App 构造函数中:

FrameworkElement.StyleProperty.OverrideMetadata(typeof(Window), new FrameworkPropertyMetadata
{
DefaultValue = FindResource(typeof(Window))
});

工作原理:App对象完成初始化后,其中指定的Window样式成为所有窗口的默认样式。

关于c# - 如何设置 WPF 应用程序的默认字体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3145511/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com