我在WPF的TextBox
中包装一些文本时有麻烦。
假设我有以下文本"这里是一些VeryLongTextThatHasToBeWrapped "等等。
<TextBox Text="Here is some VeryLongTextThatHasToBeWrapped and so on" TextWrapping="Wrap" MaxWidth="70" Height="150"/>
我希望文本将在第一行换行,因为它不适合TextBox
。
期望的换行
然而,换行发生在下一行,所以我有未使用的空间,整个文本不适合TextBlock。
实际换行
我试着用Width
和Height
玩,试着把TextWrapping
设置为WrapWithOverflow
。
同样,我用InlineUIContainer
玩了Run
元素,没有运气。
仍然不能得到想要的结果。
有没有办法"强迫"?换行是为了尽可能快地打断一个单词,而不是给它留出最大的空间,然后再打断它?
您可以将字符串视为字符数组并将其呈现在ItemsControl
中,其中将ItemsPanel
设置为WrapPanel
,当然这是不可编辑的。
<ItemsControl ItemsSource="Here is some VeryLongTextThatHasToBeWrapped and so on" MaxWidth="70">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>