WPF:更改给定容器中所有控件的字体

13

如何更改容器中所有子控件的字体,例如Canvas?我希望有一个滑块,这样用户就可以一次性地控制屏幕上所有内容的字体大小。

谢谢

1个回答

24

容器的FontSize属性应该被子控件继承,除非它们明确地覆盖了这个属性。

<Canvas TextElement.FontSize="20">
    <TextBlock>Sample Text</TextBlock>
</Canvas>

但是有些控件不遵循正常的继承机制。ListBox和Button不会从父级继承它们的Background设置,尽管它们会继承字体属性。


Canvas、Grid、StackPanel等控件不存在FontSize属性。我错过了什么?谢谢。 - Gus Cavalcanti
非常感谢!我不知道附加属性可以向下传递到树中。 再次感谢Alex! - Gus Cavalcanti
我想问一下,这种行为只会通过逻辑树来继承,对吗?我正在尝试使用这种技术通过样式来获取ContentControl的Content的默认字体大小,但遇到了困难。 - Gusdor

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接