Мягкие дефисы в XAML?

У кого-нибудь есть идея, возможно ли определить "мягкие дефисы" или "мягкие разрывы строк", например, в тексте TextBlock? Фон: я хотел бы использовать TextWrapping = "Wrap" для TextBlock, но обычно это ничего не даст, если текст, содержащийся в TextBlock, не содержит пробелов.

Например

<TextBlock TextWrapping="Wrap" Text="OneVeryLongWordThatDoesNotContainAnyWhiteSpaceAtAll" />

не будет оборачиваться, если недостаточно места. Поэтому я подумал, что, может быть, есть способ сообщить TextWrapping, где текст может быть перенесен.

Я пытался использовать HTML &shy; (мягкий дефис), но это явно не разрешено в XAML (не компилируется).

Ура, Алекс

1 ответ

Решение

Alex,

что вы подразумеваете под "не оборачивать, если недостаточно места"? Я попробовал ваш пример кода, и он действительно переносит (он будет разбиваться на каждый символ при необходимости) при добавлении Width="100" или ограничение по марже и т. д.

Установив ширину 100 я получаю следующий результат:

OneVeryLongWor
dThatDoesNotCon
tainAnyWhiteSpa
ceAtAll

Когда вы ограничиваете высоту (как Height="20"), это на самом деле не сломается, конечно, но вы можете добавить TextTrimming="WordEllipsis" чтобы получить такой результат:

OneVeryLongW...

Но, ну, это не отвечает на ваш вопрос о мягких дефисах, они, очевидно, не работают.

С наилучшими пожеланиями =)

Другие вопросы по тегам