Улучшенная работа с текстом в Windows 8.1. Часть вторая

Данная статья является продолжением предыдущей и в ней я расскажу вам, что еще нового и интересного появилось для работы с текстом в Windows 8.1.

Улучшенный перенос и обрезание текста

Перенос

Добавили три новых значения, которые можно использовать для переноса и обрезки текста. При переносе мы можем использовать новое значение WrapWholeWords, которое переносит только целое слово, а не разбивает его. Это свойство предназначено для очень маленьких компонентов, таких как плитки, которые могут отображать только небольшое количество текста. Когда очень длинное слово, URL или имя файла, вы можете обрезать текст, так чтобы пользователь мог видеть весь текст. WrapWholeWords помогает пользователю увидеть остальной текст. На рисунках ниже показаны результаты нового свойства WrapWholeWords рядом с результатом “старого” Wrap.

png;base6450b236c5380ffe97

png;base64928a25582c8bd465

Обрезка

Свойство TextTrimming позволяет обрезать текст четырьмя различными способами . Возможно, вы уже знакомы с WordEllipsis, которая урезает текста на границе слова и рисует многоточие  в оставшемся месте, и None, которая обрезает текст, не делая никаких многоточий, а также значение по умолчанию.

Но появился CharacterEllipsis, который многие из вас могут знать из WPF. CharacterEllipsis режет текст по границе символа и рисует многоточие в оставшемся месте. Также появилось новое перечисление, которое называется Clip.  Оно обрезает текст, не используя многоточие, чем-то похож на None, однако есть разница, когда происходит перенос и есть определенный MaxHeight .

Когда TextTrimming установлен в None и указан MaxHeight, текст обрезается в соответствии с обоими спецификациями, даже если это означает обрезку слова по горизонтали.

Для всех остальных значений перечисления (Character Ellipsis, Word Ellipsis и Clip) текст не обрезается горизонтально, даже когда MaxHeight указан.

Примеры всех этих форм поведения:

png;base64ed83f4e9e9dc96f1 png;base6444fe8e3e0a897cca

Еще одно важное различие между Clip и None  — обрабатывание двунаправленного текста. Например, если вы хотите локализовать приложение под  английский и арабский языки (справа-налево, больше известный как RTL язык), None обрежет текст справа-налево (начало текста в арабском языке). Clip будет обрезать текст на арабском языке от центра двигаясь вправо. Таким образом, Clip обрежет логический конца текста в любом случае. В приведенном ниже примере, я сравниваю эти две строки (красные части текста на арабском языке подвергнуться обрезке).

png;base64e952bdcc147008d1

png;base647c1b67f4de6b2823

MaxLines

Свойство MaxLines позволяет установить максимальное количество строк текста отображаемых в TextBlock’е. По умолчанию — 0, является специальным значением, которому представляется «автоматическое” поведение. Текст регулирует его высоту, чтобы показывать не больше, чем заданное число строк, независимо от размера шрифта. Это свойство обычно используется с TextWrapping установленным в Wrap или WrapWholeWords значения.

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

png;base648fe1fc4de14df2b7 png;base64597699f74c8d372b

Гиперссылка

Предназначена быть частью текстового содержимого RichTextBlock или TextBlock но в пределах других контейнеров текста. Основная цель этого нового элемента — легко вложить ссылку в блок текста. Этот пример показывает, как ее можно использовать.

png;base64f52570d78796f0a0

png;base64e461ed9a1910d1d2

Событие вставки

Есть моменты, при которых вы хотите знать, когда пользователь вставляет определенное содержимое в текстовое поле или RichEditBox. Поэтому появилось новое событие Past в этих элементах управления, так что вы можете переопределить поведение по умолчанию, если вам нужно.

 Подведение итогов

Я уверен, что эти новые возможности сделают разработку еще проще, для достижения желаемого конечного продукта. Они могут принести больше цвета в ваши приложения, а также дать вам больше возможностей для выравнивания, переноса и обрезки текста, плюс конечно же использование гиперссылки.

Ссылка на источник: XAML text improvements in Windows 8.1

Реклама
Tagged with: , , , , , ,
Опубликовано в Development, Windows 8.1
One comment on “Улучшенная работа с текстом в Windows 8.1. Часть вторая
  1. […] На этом первая часть данной статьи подошла к концу, следующие обновления читайте далее. […]

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s

%d такие блоггеры, как: