我有一个 TextBlock,里面有一长串我想换行的文本。我已将 TextBlock 放置在 ViewBox 中,希望在仍然换行时更改文本大小,但这似乎不会发生。 ViewBox 只是调整 TextBox 的大小,以便所有文本都适合一行,从而使文本非常小。
如何在仍然使用 TextWrapping 的同时使用 ViewBox 调整文本大小。
这是我的代码:
<Viewbox>
<TextBlock Text="The Option text can also dynamically grow/shrink to fit more content. More text to go here....................." TextWrapping="Wrap"/>
</Viewbox>
这是 Windows 8 商店应用程序的一部分,WinRT Xaml 也是如此。
最佳答案
只需在 TextBlock
上设置一个宽度。
<Viewbox Width="500">
<TextBlock Width="100" TextWrapping="Wrap">This is the text that's long and on two lines.</TextBlock>
</Viewbox>
所以
ViewBox
将放大/缩小其全部内容。如果您不通过在 TextBlock
上设置宽度来限制其内容,则 ViewBox
将为其提供无限的扩展空间。您还可以添加宽度和高度在 Grid
内的根 ViewBox
并将元素放在其中,然后整个批次将根据 ViewBox
的宽度进行缩放。在图像中,
TextBlock
100 的宽度被放大为 ViewBox
的宽度,即 500。所以要得到你想要的环绕,只需调整 TextBlock
的宽度,直到它看起来不错(显然它应该说三行,但我不是为此重新上传)
关于windows-store-apps - 当放置在 ViewBox 中时,TextBlock 文本不会换行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17717999/