Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Элементы управления текстом состоят из текстовых полей, полей паролей, полей автоматического предложения и текстовых блоков. Платформа XAML предоставляет несколько элементов управления для отрисовки, ввода и редактирования текста, а также набора свойств для форматирования текста.
- Элементы управления для отображения текста только для чтения: TextBlock и RichTextBlock.
- Элементы управления для записи текста и редактирования: TextBox, RichEditBox, AutoSuggestBox и PasswordBox.
Важные API: класс TextBlock, класс RichTextBlock, класс TextBox, класс RichEditBox, класс AutoSuggestBox, класс PasswordBox
Это правильный контроль?
Используемый текстовый элемент управления зависит от вашего сценария. Используйте эти сведения, чтобы выбрать правильный элемент управления текстом для использования в приложении.
Представление текста в режиме только для чтения
Используйте TextBlock для отображения большинства текста только для чтения в приложении. Его можно использовать для отображения однострочного или многострочного текста, встроенных гиперссылок и текста с форматированием, например полужирным, курсивом или подчеркиванием.
TextBlock обычно проще в использовании и обеспечивает лучшую производительность отрисовки текста, чем RichTextBlock, поэтому для большинства текстов интерфейса приложения он предпочтительнее. Вы можете легко получить доступ и использовать текст из TextBlock вашего приложения, чтобы получить значение свойства Text.
Он также предоставляет множество аналогичных параметров форматирования для настройки представления текста. Хотя в текст можно поместить разрывы строк, элемент TextBlock разработан для отображения одного абзаца и не поддерживает отступ текста.
Используйте RichTextBlock , если требуется поддержка нескольких абзацев, текста с несколькими столбцами или других сложных текстовых макетов или встроенных элементов пользовательского интерфейса, таких как изображения. RichTextBlock предоставляет несколько функций расширенного текстового макета.
Свойство содержимого RichTextBlock — свойство Blocks, которое поддерживает текст, основанный на абзацах через элемент Paragraph. У него нет свойства Text, которое можно использовать для легкого доступа к текстовому содержимому элемента управления в приложении.
Ввод текста
Используйте элемент управления TextBox , чтобы разрешить пользователю вводить и изменять неформатированный текст, например в форме. Свойство Text можно использовать для получения и задания текста в текстовом поле.
Вы можете сделать элемент TextBox предназначенным только для чтения. Но это должно быть временным, условным состоянием. Если текст никогда не редактируется, рассмотрите возможность использования TextBlock.
Используйте элемент управления PasswordBox для сбора пароля или других частных данных, таких как номер социального страхования. Поле пароля — это текстовое поле, которое скрывает символы, введенные в нем для обеспечения конфиденциальности. Поле ввода пароля внешне похоже на поле текстового ввода с той разницей, что в нем вместо вводимого текста отображаются маркеры. Символ буллита можно настроить.
Используйте элемент управления AutoSuggestBox , чтобы показать пользователю список предложений для выбора по мере их ввода. Поле автоматического предложения — это текстовое поле, которое активирует список основных предложений поиска. Предлагаемые термины могут формироваться из сочетания популярных поисковых запросов и исторически вводимых пользователями терминов.
Для реализации поля поиска также следует использовать элемент управления AutoSuggestBox.
Используйте RichEditBox для отображения и редактирования текстовых файлов. Вы не используете RichEditBox для ввода пользователей в приложение так, как вы используете другие стандартные текстовые поля. Вместо этого вы используете его для работы с текстовыми файлами, которые отделены от приложения. Обычно вы сохраняете введенный текст в RichEditBox в файл .rtf.
Лучший вариант ввода текста?
В вашем приложении существует множество способов получения ввода от пользователей. Эти вопросы помогут ответить на то, подходит ли один из стандартных текстовых полей ввода или другого элемента управления для получения ввода пользователем.
- Удобно ли эффективно перечислять все допустимые значения? Если это так, попробуйте использовать один из элементов управления выбора, например флажок, раскрывающийся список, список, переключатель радио, ползунок, тумблер, средство выбора даты или средство выбора времени.
- Существует ли довольно небольшой набор допустимых значений? Если да, рассмотрите выпадающий список или поле списка, особенно если значения длиннее чем несколько символов.
- Являются ли валидные данные совершенно неограниченными? Или допустимые данные ограничены только форматом (ограниченными длинами или типами символов)? В этом случае используйте элемент управления вводом текста. Можно ограничить количество введенных символов и проверить формат в коде приложения.
- Представляет ли значение тип данных, имеющий специализированный общий элемент управления? В этом случае используйте соответствующий элемент управления вместо элемента управления вводом текста. Например, используйте DatePicker вместо элемента управления вводом текста для принятия записи даты.
- Если данные строго числовые:
- Вводится ли значение приблизительно и (или) относительно другого количества на той же странице? В этом случае используйте ползунок.
- Будет ли пользователь воспользоваться мгновенными отзывами о влиянии изменения параметров? В этом случае используйте ползунок, возможно, с сопутствующим элементом управления.
- Может ли введенное значение быть изменено после наблюдения результатов, например, в случае с громкостью или яркостью экрана? В этом случае используйте ползунок.
Примеры
Текстовое поле
Поле для автоподсказок
Поле ввода пароля
Создание элемента управления текстом
Дополнительные сведения и примеры, относящиеся к каждому элементу управления текстом, см. в этих статьях.
Рекомендации по шрифту и стилю
См. следующие статьи по рекомендациям по шрифту:
Выбор подходящей клавиатуры для элемента управления текстом
Применимо к: TextBox, PasswordBox RichEditBox
Чтобы упростить пользователям ввод данных с помощью сенсорной клавиатуры или панели функционального ввода (ПФВ), можно настроить область ввода элемента управления текстом в соответствии с ожидаемым типом данных, которые будут вводить пользователи.
Совет. Эта информация относится только к SIP. Он не применяется к аппаратным клавиатурам или экранной клавиатуре, доступной в параметрах Windows Ease of Access.
Сенсорная клавиатура позволяет вводить текст, если приложение выполняется на устройстве с сенсорным экраном. Сенсорная клавиатура появляется, когда пользователь касается редактируемого поля ввода, например, TextBox или RichEditBox. Вы можете значительно ускорить и упростить ввод данных пользователями в вашем приложении, установив область ввода текстового элемента управления в соответствии с ожидаемым типом данных, которые пользователь должен ввести. Тип вводимых данных предоставляет системе подсказку о типе текстового ввода, ожидаемого элементом управления. Благодаря этому система может отобразить специальную раскладку сенсорной клавиатуры в соответствии с используемым типом ввода.
Например, если текстовое поле используется только для ввода 4-значного ПИН-кода, задайте для свойства InputScope значение Number. Это сообщает системе, что нужно отобразить раскладку цифровой клавиатуры, благодаря чему пользователю проще вводить PIN-код.
Это важно
Область ввода не приводит к выполнению какой-либо проверки ввода и не запрещает пользователю предоставлять входные данные с помощью аппаратной клавиатуры или другого устройства ввода. Вы по-прежнему несете ответственность за проверку входных данных в коде по мере необходимости.
Дополнительные сведения см. в разделе "Использование области ввода" для изменения сенсорной клавиатуры.
Цветные шрифты
Применимо к: TextBlock, RichTextBlock, TextBox, RichEditBox
Windows имеет возможность включать несколько цветных слоёв для каждого символа. Например, шрифт Emoji пользовательского интерфейса Segoe определяет цветовые версии эмотикона и других символов Эмодзи.
Стандартные и форматированные элементы управления текстом поддерживают цветовые шрифты. По умолчанию свойство IsColorFontEnabledимеет значение true , а шрифты с этими дополнительными слоями отображаются цветом. Цветной шрифт по умолчанию в системе — Segoe UI Emoji, и элементы управления будут возвращаться к этому шрифту, чтобы отобразить глифы в цвете.
<TextBlock FontSize="30">Hello ☺⛄☂♨⛅</TextBlock>
Отрисованный текст выглядит следующим образом:
Дополнительные сведения см. в свойстве IsColorFontEnabled .
Рекомендации по разделителям строк и абзацам
Применимо к: TextBlock, RichTextBlock, многострочный TextBox, RichEditBox
Используйте символ разделителя строк (0x2028) и символ разделителя абзаца (0x2029), чтобы разделить обычный текст. Новая строка начинается после каждого разделителя строк. Новый абзац начинается после каждого разделителя абзаца.
Не нужно запускать первую строку или абзац в файле с этими символами или заканчивать последнюю строку или абзац с ними; Это означает, что в этом расположении имеется пустая строка или абзац.
Приложение может использовать разделитель строк, чтобы указать безусловный конец строки. Однако разделители строк не соответствуют отдельным символам возврата и линии каретки или сочетанию этих символов. Разделители строк должны обрабатываться отдельно от символов возврата и линии каретки.
Приложение может вставить разделитель абзацев между абзацами текста. Использование этого разделителя позволяет создавать обычные текстовые файлы, которые можно отформатировать с разными строками в разных операционных системах. Целевая система может игнорировать любые разделители строк и прерывать абзацы только в разделителях абзацев.
Рекомендации по проверке орфографии
Применимо к: TextBox, RichEditBox
Во время записи текста и редактирования проверка орфографии сообщает пользователю, что слово неправильно выделено путем выделения его красным волнистым цветом и предоставляет пользователю способ исправить ошибки.
Ниже приведен пример встроенного средства проверки орфографии:
Используйте проверку орфографии с элементами управления вводом текста в следующих двух целях:
Автоматическое исправление ошибок
Модуль проверки орфографии автоматически исправляет ошибки, когда он уверен в исправлении. Например, система автоматически изменяет "teh" на "the".
Отображение альтернативных написаний
Если подсистема проверки орфографии не уверена в исправлении, она добавляет красную линию под словом с ошибками и отображает альтернативные варианты в контекстном меню при нажатии или щелчке правой кнопкой мыши слово.
Используйте проверку орфографии, чтобы помочь пользователям вводить слова или предложения в элементы управления вводом текста. Проверка орфографии работает с сенсорным вводом, мышью и клавиатурой.
Не используйте проверку орфографии, если слово вряд ли будет находиться в словаре или если пользователи не будут использовать проверку орфографии. Например, не включите его, если текстовое поле предназначено для записи номера телефона или имени.
Не отключайте проверку орфографии только потому, что текущий модуль проверки орфографии не поддерживает язык приложения. Если средство проверки орфографии не поддерживает язык, оно ничего не делает, поэтому нет вреда в оставлении этой опции включенной. Кроме того, некоторые пользователи могут использовать редактор методов ввода (IME) для ввода другого языка в приложение, и этот язык может поддерживаться. Например, при создании японского языкового приложения, даже если подсистема проверки орфографии в настоящее время не распознает этот язык, не отключает проверку орфографии. Пользователь может переключиться на английский IME и ввести английский язык в приложение; Если проверка орфографии включена, английский будет проверять орфографию.
Для элементов управления TextBox и RichEditBox проверка орфографии включена по умолчанию. Его можно отключить, задав свойству IsSpellCheckEnabledзначение false.
Связанные статьи
Для конструкторов
Для разработчиков (XAML)
Windows developer