WPF - 在运行时更改全局字体大小

标签 wpf xaml wpf-controls

我需要向我的简单应用程序添加一项功能 - 允许用户更改整个应用程序的字体大小。容易做吗?你能给我一些如何开始的提示吗? 它只需要 3 种预定义的字体大小,但我想到的第一个也是唯一的解决方案是创建 3 个不同的主题。能不能简化一点?

最佳答案

幸运的是,FontSize 使用 Property Value Inheritance 。这意味着只要不覆盖它,FontSize 就会自动传播到所有子文本元素。因此,您可以设置一个:

<Window FontSize="10" ...>

它将应用于该窗口中没有字体大小的所有文本元素。在代码中更改它也很简单:

this.FontSize = 20;
窗口代码隐藏中的

将动态更改所有未指定的字体大小。这也适用于似乎不支持字体大小的内容:

<Grid TextElement.FontSize="15" ...>

您提到的其他文本属性也是如此。

关于WPF - 在运行时更改全局字体大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4549752/

相关文章:

.net - 装订样式?

.net - WPF 中的置于前台

c# - WPF FrameworkElementFactory 图像创建无法为 MouseDownEvent 添加处理程序

wpf - WPF专注于带有控件模板的ListBox项

c# - 使用 XAML 在 WPF 中绘制圆形动画

c# - 如何定位窗口内的所有按钮?

c# - 为什么我的数据绑定(bind) TabControl 看起来不像我的非数据绑定(bind) TabControl?

c# - 将数据网格列转换为超链接

c# - 如何在 C# 中以编程方式为 WPF 工具包数据网格创建列?

c# - WPF:在 UserControl 的构造函数中加载数据会破坏设计器