WPF自动调整字体大小,直到适应父控件

22

我有一个用户控件,其根元素是一个网格(Grid)。

我还有一个ContentControl,它作为一些文本的占位符,在加载数据时填充该文本。这个控件可以在用户控件内移动,因此它的位置可以随意。

如果文本太长而无法适应用户控件的根网格,则希望将ContentControl的字体大小缩小,直到文本适应为止。

我的问题是,我找不到一个处理此过程的事件。我尝试使用ContentControl.LayoutUpdated事件; 但是,此事件的sender参数似乎始终为空...这真的没有帮助!

我非常期待任何有关如何实现此目标的建议。

谢谢

-Frinny


5
你可以使用ViewBox将ContentControl包围起来,这样可以缩放ContentControl以适应网格。这是一个选择吗? - Nico Schertler
1个回答

43

将您的ContentControl放置在一个只缩小的Viewbox中,就可以为您完成此操作:

<Viewbox StretchDirection="DownOnly" Stretch="Uniform">
    <ContentControl Content="Some Text"/>
</Viewbox>

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