如果文本超出Textblock的边界,请更改字体大小

pat*_*ero 7 .net c# wpf xaml

我有一个文本块,其尺寸为宽度= 511,高度= 159.字号= 28.如果文本超出文本块的尺寸,我想更改字体大小,以便显示所有文本.有办法做到这一点吗?一个公式可能?

Has*_*san 0

我不太确定 WPF,但在 WinForms 中,您可以使用MeasureString方法来测量给定字体中的字符串尺寸。因此,每当文本块的内容发生变化时,您只需使用此方法,如果文本的尺寸大于文本块的尺寸 - 减小字体大小并再次测量。

(现在,在我写完这篇文章之后,我认为应该有一个更简单的方法)