WPF文本Wrap vs WrapWithOverflow
TextWrapping="Wrap"
和TextWrapping="WrapWithOverflow"
(例如TextBox)之间的“概念上”区别是什么? 在关于类TextBox MSDN页面没有什么…谢谢。
MSDN
WrapWithOverflow如果行溢出超出可用块宽度,则会发生断行。 但是,如果换行algorithm无法确定换行机会,则行可能会溢出块宽度,例如在固定宽度容器中限制非常长的单词而不允许滚动。
NoWrap不执行换行。
换行如果行溢出超过可用的块宽度,即使标准换行algorithm不能确定任何换行机会,也会发生换行,如固定宽度容器中的一个非常长的单词被限制,且不允许滚动。
希望这可以帮助
一些例子:
这是原始的,解开的版本:
这是NoWrap
。
这是Wrap
。 即使不存在换行符机会,“ Remove
和“ Sample
”一词也分别包含在ve
和le
。
这是WrapWithOverflow
。 ve
和le
不可见(它们会溢出可用的块宽度),因为没有换行符的机会。 All
,在这两种情况下,已被包装,因为space
字符是一个换行的机会。
编辑:
正如评论中所build议的,下面是一些如何处理空间的例子。 当Width
为100
, Wrap
和WrapWithOverflow
是相同的。 Wrap
把wider
example
和wider
example
之间的空间看作是一个换行的机会,所以example
被放在一个新的线上来保存整个连续的单词。