尝试在textblock WPF中包装和缩放文本
我试图在WPF中自动缩放字体并在文本块中包装文本,但我无法理解 我在谷歌上搜索过它,并多次查看stackoverflow负载,主要建议是在ViewBox中放置一个TextBlock。我已经试过了,它所做的只是将整个文本缩小到一行,而不是将其包装 如果我只是使用一个没有ViewBox的TextBlock,它会进行包装,但不会根据需要进行缩放。这让我抓狂,因为我正试图从WinForms迁移到WPF,以制作更美观的UI 我试过StackPanel和DockPanel,但仍然没有达到预期效果尝试在textblock WPF中包装和缩放文本,wpf,vb.net,textblock,viewbox,Wpf,Vb.net,Textblock,Viewbox,我试图在WPF中自动缩放字体并在文本块中包装文本,但我无法理解 我在谷歌上搜索过它,并多次查看stackoverflow负载,主要建议是在ViewBox中放置一个TextBlock。我已经试过了,它所做的只是将整个文本缩小到一行,而不是将其包装 如果我只是使用一个没有ViewBox的TextBlock,它会进行包装,但不会根据需要进行缩放。这让我抓狂,因为我正试图从WinForms迁移到WPF,以制作更美观的UI 我试过StackPanel和DockPanel,但仍然没有达到预期效果 我所需要的
我所需要的只是一个TextBlock来获取一个未知大小的文本字符串,并将其缩放和包装显示出来。我不明白为什么这么难包含您尝试过的代码很有帮助 当我这样做时:
<Grid>
<TextBox VerticalAlignment="Center" TextWrapping="Wrap" Width="100"/>
</Grid>
我明白了:
这就是你要找的吗
如果您需要更多功能,也可以查看。您可以发布您已经尝试过的代码吗?特别是您所说的将整个文本缩小到一行的意思,您的文本块中是否有
TextWrapping=“Wrap”
?ViewBoxStretch
属性设置为什么?文本块宽度
和高度
?请注意,在本文中,它们的含义与通常的含义不同。我有TextWrapping=“Wrap”(我也尝试将其更改为WrapWithOverflow)。我已经使用了ViewBox的拉伸属性,尝试了“填充”、“均匀”、“UniformToFill”。我也尝试过改变宽度和高度。正如我所说,ViewBox只会使文本变小,直到所有文本都适合一行。文本块的换行不会在换行时缩放字体大小,内置控件无法做到这一点,至少不能在控件大小上保持一致。见此: