尝试在textblock WPF中包装和缩放文本

尝试在textblock WPF中包装和缩放文本,wpf,vb.net,textblock,viewbox,Wpf,Vb.net,Textblock,Viewbox,我试图在WPF中自动缩放字体并在文本块中包装文本,但我无法理解 我在谷歌上搜索过它,并多次查看stackoverflow负载,主要建议是在ViewBox中放置一个TextBlock。我已经试过了,它所做的只是将整个文本缩小到一行,而不是将其包装 如果我只是使用一个没有ViewBox的TextBlock,它会进行包装,但不会根据需要进行缩放。这让我抓狂,因为我正试图从WinForms迁移到WPF,以制作更美观的UI 我试过StackPanel和DockPanel,但仍然没有达到预期效果 我所需要的

我试图在WPF中自动缩放字体并在文本块中包装文本,但我无法理解

我在谷歌上搜索过它,并多次查看stackoverflow负载,主要建议是在ViewBox中放置一个TextBlock。我已经试过了,它所做的只是将整个文本缩小到一行,而不是将其包装

如果我只是使用一个没有ViewBox的TextBlock,它会进行包装,但不会根据需要进行缩放。这让我抓狂,因为我正试图从WinForms迁移到WPF,以制作更美观的UI

我试过StackPanel和DockPanel,但仍然没有达到预期效果


我所需要的只是一个TextBlock来获取一个未知大小的文本字符串,并将其缩放和包装显示出来。我不明白为什么这么难

包含您尝试过的代码很有帮助

当我这样做时:

<Grid>
    <TextBox VerticalAlignment="Center" TextWrapping="Wrap"  Width="100"/>
</Grid>

我明白了:

这就是你要找的吗


如果您需要更多功能,也可以查看。

您可以发布您已经尝试过的代码吗?特别是您所说的将整个文本缩小到一行的意思,您的文本块中是否有
TextWrapping=“Wrap”
?ViewBox
Stretch
属性设置为什么?文本块
宽度
高度
?请注意,在本文中,它们的含义与通常的含义不同。我有TextWrapping=“Wrap”(我也尝试将其更改为WrapWithOverflow)。我已经使用了ViewBox的拉伸属性,尝试了“填充”、“均匀”、“UniformToFill”。我也尝试过改变宽度和高度。正如我所说,ViewBox只会使文本变小,直到所有文本都适合一行。文本块的换行不会在换行时缩放字体大小,内置控件无法做到这一点,至少不能在控件大小上保持一致。见此: