В чем «концептуальная» разница между TextWrapping="Wrap"
и TextWrapping="WrapWithOverflow"
(например, для TextBox)? На странице MSDN про класс TextBox ничего нет ... Спасибо.
171
WrapWithOverflow Разрыв строки происходит, если линия переполняется за пределы доступной ширины блока. Однако строка может переполниться за пределы ширины блока, если алгоритм разрыва строки не может определить возможность разрыва строки, как в случае очень длинного слова, ограниченного в контейнере фиксированной ширины без прокрутки.
NoWrap Перенос строки не выполняется.
Перенос строки происходит, если строка выходит за пределы доступной ширины блока, даже если стандартный алгоритм разрыва строки не может определить возможность разрыва строки, как в случае очень длинного слова, ограниченного в контейнере фиксированной ширины без прокрутки.
Надеюсь это поможет
WrapWithOverflow
он не поддерживается в Silverlight. ТолькоWrap
иNoWrap
поддерживаются в Silverlight. msdn.microsoft.com/en-us/library/…WrapWithOverFlow
которая не будет ломать слова, ноWrap
будет?Некоторые примеры:
Это оригинальная, развернутая версия:
Это
NoWrap
.Это
Wrap
. СловаRemove
иSample
были обернуты вve
иle
, соответственно, даже если нет возможности разрыва строки.Это
WrapWithOverflow
. Символыve
иle
не отображаются (они выходят за пределы доступной ширины блока), поскольку нет возможности разрыва строки. ВAll
обоих случаях он был перенесен, потому чтоspace
символ - это возможность разрыва строки.Редактировать:
Как предлагается в комментариях, вот несколько примеров того, как
Wrap
относится к пробелам. КогдаWidth
это100
,Wrap
иWrapWithOverflow
идентичны.Wrap
рассматривает пробел междуwider
иexample
как возможность разрыва строки, поэтомуexample
ставится на новую строку, чтобы сохранить все непрерывное слово.источник
Wrap
полностью игнорирует пробелы, но это не так.Одна вещь, которую нужно добавить к другим ответам, WrapWithOverflow позволяет использовать обрезку текста (многоточие) для длинных слов, которые обрезаются:
источник