WPF text Wrap vs WrapWithOverflow


в чем "концептуальная" разница между TextWrapping="Wrap" и TextWrapping="WrapWithOverflow" (например, для текстового поля)? На странице MSDN о текстовом поле класса нет ничего ... Спасибо.

2 144

2 ответа:

MSDN

WrapWithOverflow разрыв линии происходит, если линия выходит за пределы доступная ширина блока. Однако, линия может превышать ширина блока, если алгоритм прерывания линии не может определить линию возможность разрыва, как в случае очень длинного слова, ограниченного в a контейнер фиксированной ширины без прокрутки.
NoWrap нет линии выполняется обертывание.
обертывание Разрыв строки происходит, если линия выходит за пределы доступной ширины блока, даже если стандартная строка алгоритм разрыва не может определить возможность разрыва строки, как в случай очень длинного слова, ограниченного в контейнере фиксированной ширины без прокрутки разрешено.

надеюсь, что это помогает

примеры:

это оригинальная, развернутая версия:

No wrapping


это NoWrap.

NoWrap


это Wrap. Слова Remove и Sample были завернуты в ve и le, соответственно, даже если нет возможности разрыва строки.

Wrap


это WrapWithOverflow. Элемент ve и le не видны (они переполняют доступную ширину блока), потому что нет возможности разрыва строки. Элемент All, в обоих случаях, был завернут, потому что space символ разрыв строки.

WrapWithOverflow


Edit:

как было предложено в комментариях, Вот несколько примеров того, как Wrap лечит пространства. Когда Width и 100,Wrap и WrapWithOverflow идентичны. Wrap обрабатывает пространство между wider и example как возможность разрыва линии, так example ставится на новую строку, чтобы сохранить все, непрерывное слово.

enter image description here