在 WPF 中,如果长单词前面有一些文本,则长单词不会在第一行换行



我在WPF的TextBox中包装一些文本时有麻烦。
假设我有以下文本"这里是一些VeryLongTextThatHasToBeWrapped "等等。

<TextBox Text="Here is some VeryLongTextThatHasToBeWrapped and so on" TextWrapping="Wrap" MaxWidth="70" Height="150"/>

我希望文本将在第一行换行,因为它不适合TextBox
期望的换行

然而,换行发生在下一行,所以我有未使用的空间,整个文本不适合TextBlock。
实际换行

我试着用WidthHeight玩,试着把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>

最新更新