2011-09-08 111 views

回答

168

MSDN

WrapWithOverflow如果行溢出超出 可用塊寬度發生線路斷裂。但是,如果換行算法無法確定行 中斷機會,則行可能會溢出 塊寬度,例如在允許不滾動的固定寬度容器中限制非常長的單詞時。
NoWrap沒有行 包裝被執行。
斷行發生如果行 溢出超出可用塊寬度,即使標準線 決勝算法都無法決定換行,如 很長字的情況下在定點約束寬容器 不允許滾動。

希望這有助於

+11

我知道這個問題是針對WPF,但我想這可能是值得一提的是'WrapWithOverflow'不支持Silverlight。 Silverlight中只支持'Wrap'和'NoWrap'。 http://msdn.microsoft.com/en-us/library/system.windows.textwrapping(v=vs.95).aspx – blachniet

+2

我讀了這個,我仍然沒有確定的區別。 「WrapWithOverFlow」不會打破單詞的基本概念,而是'Wrap'會呢? –

+6

@BrianJ - 查看我的答案的一些例子。 – ken

256

一些例子:

這是原始的,未包裝的版本:

No wrapping


這是NoWrap

NoWrap


這是Wrap。單詞RemoveSample已分別在vele處打包,即使沒有換行符機會。

Wrap


這是WrapWithOverflowvele不可見(它們溢出可用的塊寬度),因爲沒有換行符機會。在這兩種情況下,All已被封裝,因爲space字符是換行符機會。

WrapWithOverflow


編輯:

正如評論所說,這裏是如何對待Wrap空間的一些例子。當Width100時,WrapWrapWithOverflow是相同的。Wrapwiderexample之間的空格視爲換行符機會,因此將example放在新行上以保留整個連續單詞。

enter image description here

+3

如果在每種模式下都有一個有效的空白符,可以在這個答案中包含一個更多(更寬)的按鈕示例。一眼就可以看出,「Wrap」完全忽略了空白符,但事實並非如此。 –