在WPF中,如果长单词前面有一些文本,它不会在第一行换行[重复]

ckx4rj1h  于 2023-04-07  发布在  其他
关注(0)|答案(1)|浏览(116)

此问题已在此处有答案

WPF: word-break wrapping(1个答案)
2天前关闭。
我在WPF中用TextBox Package 一些文本时遇到问题。
假设我有以下文本“这里有一些VeryLongTextThatHasToBeWrapped等”。

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

我希望文本在第一行换行,因为它不适合TextBox。像这样:
Expected wrapping
然而,换行发生在下一行,所以我有未使用的空间,整个文本不适合在TextBlock中。像这样:
Actual wrapping
我尝试使用WidthHeight,尝试将TextWrapping设置为WrapWithOverflow
另外,我用InlineUIContainerRun元素一起玩,没有运气。
还是得不到想要的结果。
有没有什么方法可以“强制”换行,以尽快打破一个词,而不是给它最大可能的空间,然后打破它?

4nkexdtk

4nkexdtk1#

你可以把string看作是一个字符数组,并把它放在一个ItemsControl中,你把ItemsPanel设置为WrapPanel,当然它是不可编辑的。

<ItemsControl ItemsSource="Here is some VeryLongTextThatHasToBeWrapped and so on" MaxWidth="70">
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <WrapPanel/>
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
</ItemsControl>

相关问题