我有一个包含相当多对象的 WPF 页面。在所有这些项目的底部,我有一个标签,需要在内容中进行文字环绕。答案很简单,通过使用 Textblock,这应该是小菜一碟。然而,即使我使用了这些项目,我仍然无法让文本换行。所以我假设其他对象中必须有其他设置需要检查/修改。在伪代码中,我的 XAML 看起来像
<Page>
<Stackpanel vertical>
<Border>
<Stackpanel vertical>
<label></label>
<Stackpanel horizontal>
<label></label>
</stackpanel>
<label>
<textblock TextWrapping="Wrap">
</label>
</border>
</stackpanel>
</page>
我在这里缺少什么?我应该检查其他元素吗?我已经确保没有任何嵌套元素指定了任何高度 - 它们都设置为自动。
我将继续将其作为答案发布,以防其他人陷入困境。
当您设置Width
and Height
的属性TextBlock
控制时,它会首先水平增加大小以容纳尽可能多的文本before文本换行(如果TextWrapping
属性设置为换行)。一旦它决定需要换行文本,如果Height
设置为“自动”时,文本框将垂直调整大小以容纳文本(直到它到达您放入的任何 UI 容器的底部)。如果您不希望文本框调整大小超过某个点,则需要设置MaxWidth
and MaxHeight
特性。这将迫使TextBlock
以一定的宽度包裹。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)