Текстовые поля

Последнее обновление: 11.02.2016

TextBlock

Элемент TextBlock служит для вывода простой текстовой информации, то есть представляет собой обычную метку. За установку текста метки отвечает свойство Text:

<TextBlock Text="Universal Windows Platfom" />

Для настройки шрифта мы можем использовать стандартные свойства FontSize (высота шрифта), FontFamily (семейство шрифтов), FontStretch (растяжение шрифта), FontStyle (стиль наклона), FontWeight (вес/толщина шрифта):

<TextBlock Text="Universal Windows Platfom" FontSize="20" FontFamily="Verdana" 
		FontStretch="Normal" FontStyle="Normal" FontWeight="Bold"/>

С помощью свойств LineHeight, TextWrapping и TextAllignment мы можем задать дополнительные настройки текста.

Свойство LineHeight позволяет указывать высоту строк.

TextWrapping

Свойство TextWrapping позволяет переносить текст. Может принимать три значения:

  • NoWrap: текст не переносится. Значение по умолчанию

  • Wrap: если ширина текстовой метки не позволяет вместить весь текст, то в ней создается новые строки, на которые переносится текст

  • WrapWholeWords: текст переносится по границам слов

Установка в коде:

textBlock.TextWrapping = TextWrapping.WrapWholeWords;

TextAllignment

Свойство TextAllignment выравнивает текст. Может принимать следующие значения:

  • Center: выравнивание по центру

  • DetectFromContent: направление выравнивания зависит от текста

  • Justify: текст не растягивается так, чтобы символы были оптимальным образом распределены по всей ширине блока

  • Left: выравнивание по левому краю

  • Right: выравнивание по правому краю

Установка в коде:

textBlock.TextAlignment = TextAlignment.Justify;

Например:

<TextBlock Text="Онегин был по мненью многих ученый малый, но педант. Имел он счастливый талант..." 
        TextWrapping="Wrap"  LineHeight="30" TextAlignment="Justify" FontSize="20" />

TextLineBounds

Свойство TextLineBounds устанавливает способ определения высоты для каждой строки текста в элементе. Может принимать следующие значения:

  • Full: строка имеет стандартную высоту. Значение по умолчанию

  • TrimToCapHeight: высота строки устанавливается по высоте шапки шрифта.

  • TrimToBaseline: нижний уровень строки устанавливается по опорной линии текста.

  • Tight: высота строки устанавливается по шапке шрифта, а нижний уровень - по опорной линии текста

TextLineBounds in UWP

Установка в коде:

textBlock.TextLineBounds = TextLineBounds.Full;

TextTrimming

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

  • None: текст не усекается. Значение по умолчанию

  • CharacterEllipsis: текст усекается по границе символа. На месте усечения вставляется многоточие

  • WordEllipsis: текст усекается по границе слова. На месте усечения вставляется многоточие

  • Clip: текст обрезается на уровне пикселей

Установка в коде:

textBlock.TextTrimming = TextTrimming.WordEllipsis;

TextReadingOrder и FlowDirection

Свойство FlowDirection задает направление текста - слева направо или справа налево:

  • LeftToRight: направление текста слева направо, значение по умолчанию

  • RightToLeft: направление текста справа налево

Установка в коде:

textBlock.FlowDirection = FlowDirection.RightToLeft;

Свойство TextReadingOrder также влияет на порядок чтения:

  • Default: по умолчанию не переопределяет направление содержимого. Направление задается через FlowDirection

  • DetectFromContent: корректирует порядок, в котором размещаются блоки двунаправленного текста

  • UseFlowDirection: то же самое, что и Default

Установка в коде:

textBlock.TextReadingOrder = TextReadingOrder.UseFlowDirection;

TextBox

Для ввода текста используется элемент TextBox. Он также, как и TextBlock, имеет свойства TextWrapping, TextAllignment и TextReadingOrder. Для задания шрифта текста также применяются свойства FontFamily, FontSize. Среди других свойств следует выделить MaxLength и PlaceholderText

MaxLength устанавливает предельное количество вводимых символов.

Свойство PlaceholderText задает текст по умолчанию, который отображается в поле до ввода в него символов:

<TextBox MaxLength="250" PlaceholderText="Введите текст" Height="40" />

Еще одно интересное свойство IsSpellCheckEnabled позволяет автоматически проверять орфографию:

<TextBox IsSpellCheckEnabled="True" Height="40" />

Если мы введем некорректное значение, то текстовое поле его подчеркнет:

TextBox in Universal Windows Platform

Из событий элемента следует выделить событие TextChanged, которое срабатывает при изменении текста в текстовом поле. Например, подключим обработчик события:

<StackPanel>
    <TextBox x:Name="textBox1" PlaceholderText="Введите текст" Height="40" TextChanged="TextBox_TextChanged" />
    <TextBlock x:Name="textBlock1" Height="40" />
</StackPanel>

А в файле кода пропишем сам обработчик:

private void TextBox_TextChanged(object sender, TextChangedEventArgs e)
{
    string text = textBox1.Text; // получаем введенный текст
    textBlock1.Text = text;
}

PasswordBox

PasswordBox применяется для ввода парольной информации. Это тоже самое текстовое поле, только для ввода символов используется маска. Свойство PasswordChar устанавливает символ маски, отображаемый при вводе пароля. Свойство Password задает парольную строку, отображаемую по умолчанию при загрузке окна приложения.

<StackPanel>
    <PasswordBox PasswordChar="*" Password="12345" />
    <PasswordBox Password="12345" />
</StackPanel>
PasswordBox in Universal Windows Platform
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850