WPF文本自动换行 vs 溢出换行

8 浏览
0 Comments

WPF文本自动换行 vs 溢出换行

TextBox中,TextWrapping=\"Wrap\"TextWrapping=\"WrapWithOverflow\"之间的\"概念上的\"区别是什么?

在关于TextBox类的MSDN页面中没有任何内容...

谢谢。

admin 更改状态以发布 2023年5月21日
0
0 Comments

MSDN

WrapWithOverflow 当一行文本超出区块可用宽度时,将会自动换行。
但是,在限制滚动的固定宽度容器中,如果行中无法确定换行机会,例如一个非常长的单词,那么一行可能会超出区块宽度。
NoWrap 不进行换行。
Wrap 当一行文本超出区块可用宽度时,将会自动换行。
即使标准的换行算法无法确定任何换行机会,例如一个非常长的单词被限制在无法滚动的固定宽度容器中。

0
0 Comments

一些例子:

这是原始的未换行版本:

No wrapping


这是NoWrap.

NoWrap


这是Wrap. 即使没有换行机会,单词RemoveSample也分别在vele处换行了。

Wrap


这是WrapWithOverflow.由于没有换行机会,vele不可见(它们超出了可用块宽度)。两种情况下的All都被换行了,因为space字符是换行机会。

WrapWithOverflow


编辑:

正如评论中所建议的,这里有一些Wrap如何处理空格的示例。当Width100时,WrapWrapWithOverflow是相同的。Wrapwiderexample之间的空格视为换行机会,因此将example放在新行中以保留整个连续单词。

enter image description here

0