使用WPF更改与窗口大小相关的字体大小?

Posted

技术标签:

【中文标题】使用WPF更改与窗口大小相关的字体大小?【英文标题】:Changing FontSize relationally to the windowsize with WPF? 【发布时间】:2011-01-05 12:42:28 【问题描述】:

是否有可能,如果我缩小窗口,FontSize 会变小,如果我放大窗口会变大?

【问题讨论】:

【参考方案1】:

将您的文本包装在 Viewbox 中。

<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
    <Viewbox>
        <TextBlock Text="Sizes to fit!"/>
    </Viewbox>
</Window>

【讨论】:

现在如果我缩小窗口,它会变小,但 FontSize="16" 没有任何效果。默认情况下,字体很大。 是的,当然。如果您想施加限制,请使用ViewboxStretchDirection 属性。 @CannibalSmith 1 点赞,因为我遇到了同样的问题,而 Stretch 和 viewbox 发挥了作用。【参考方案2】:

我从未尝试过,但我想您可以通过转换器方法将文本的字体大小属性绑定到窗口大小。我不会尝试直接绑定,因为那样疯狂。

另一种选择是处理窗口大小调整事件并手动将字体大小发送到每个控件...

--编辑-- 刚搜了谷歌,发现this result,可能就是你想要的。

【讨论】:

不幸的是,转换器是用 C# 编写的。但是我正在使用 Visual Basic 进行编程,并且在 vb 中重写它时遇到了问题。但我认为编写一个自己的转换器并不是很困难。

以上是关于使用WPF更改与窗口大小相关的字体大小?的主要内容,如果未能解决你的问题,请参考以下文章

如果它比 WPF XAML 中的窗口大,如何缩放字体大小以适应窗口?

如何在 WPF C# 中更改验证结果的字体大小

WPF字体缩放

在 C# 中更改 ContextMenu 字体大小

Win10如何更改CMD命令窗口颜色及字体大小

WPF:在不知道项目的情况下更改组合框的字体大小