Использование входных область для изменения сенсорной клавиатуры

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

Важные API

Сенсорная клавиатура позволяет вводить текст, если приложение выполняется на устройстве с сенсорным экраном. Сенсорный клавиатура вызывается, когда пользователь нажимает на редактируемое поле ввода, например TextBox или RichEditBox. Вы можете сделать его гораздо быстрее и проще, чтобы пользователи могли вводить данные в приложении, задав входные область элемента управления текстом, чтобы он соответствовал типу данных, которые пользователь ввел. Тип вводимых данных предоставляет системе подсказку о типе текстового ввода, ожидаемого элементом управления. Благодаря этому система может отобразить специальную раскладку сенсорной клавиатуры в соответствии с используемым типом ввода.

Например, если текстовое поле используется только для ввода 4-значного PIN-кода, установите для свойства InputScope значение Number. Это сообщает системе, что нужно отобразить раскладку цифровой клавиатуры, благодаря чему пользователю проще вводить PIN-код.

Важно!

  • Эта информация относится только к SIP. Он не применяется к аппаратным клавиатурам или экранной клавиатуре, доступной в параметрах "Простота доступа Windows".
  • Входные область не приводят к выполнению какой-либо проверки входных данных и не препятствуют пользователю предоставлять какие-либо входные данные с помощью аппаратной клавиатуры или другого устройства ввода. Вы по-прежнему несете ответственность за проверку вводимых данных в коде.

Изменение входных область элемента управления текстом

Входные область, доступные приложению, являются членами перечисления InputScopeNameValue. Для свойства InputScope в TextBox или RichEditBox можно задать одно из этих значений.

Важно!

Свойство InputScope в PasswordBox поддерживает только значения Password и NumericPin. Любое другое значение игнорируется.

Здесь вы изменяете входные область нескольких текстовых полей в соответствии с ожидаемыми данными для каждого текстового поля.

Изменение входных область в XAML

  1. В XAML-файле страницы найдите тег для элемента управления текстом, который требуется изменить.

  2. Добавьте атрибут InputScope в тег и укажите значение InputScopeNameValue, соответствующее ожидаемому входу.

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

    <StackPanel Width="300">
        <TextBox Header="Name" InputScope="Default"/>
        <TextBox Header="Email Address" InputScope="EmailSmtpAddress"/>
        <TextBox Header="Telephone Number" InputScope="TelephoneNumber"/>
        <TextBox Header="Web site" InputScope="Url"/>
    </StackPanel>
    

Изменение входных область в коде

  1. В XAML-файле страницы найдите тег для элемента управления текстом, который требуется изменить. Если он не задан, задайте атрибут x:Name, чтобы вы могли ссылаться на элемент управления в коде.

    <TextBox Header="Telephone Number" x:Name="phoneNumberTextBox"/>
    
  2. Создайте экземпляр нового объекта InputScope .

    InputScope scope = new InputScope();
    
  3. Создайте экземпляр нового объекта InputScopeName.

    InputScopeName scopeName = new InputScopeName();
    
  4. Задайте свойству NameValue объекта InputScopeName значение перечисления InputScopeNameValue.

    scopeName.NameValue = InputScopeNameValue.TelephoneNumber;
    
  5. Добавьте объект InputScopeName в коллекцию Name объекта InputScope.

    scope.Names.Add(scopeName);
    
  6. Задайте объект InputScope в качестве значения свойства InputScope элемента управления текстом.

    phoneNumberTextBox.InputScope = scope;
    

Вот код вместе.

InputScope scope = new InputScope();
InputScopeName scopeName = new InputScopeName();
scopeName.NameValue = InputScopeNameValue.TelephoneNumber;
scope.Names.Add(scopeName);
phoneNumberTextBox.InputScope = scope;

Те же действия можно сжать в этот сокращенный код.

phoneNumberTextBox.InputScope = new InputScope() 
{
    Names = {new InputScopeName(InputScopeNameValue.TelephoneNumber)}
};

Прогнозирование текста, проверка орфографии и автоматическое исправление

Элементы управления TextBox и RichEditBox имеют несколько свойств, влияющих на поведение SIP. Чтобы обеспечить лучший интерфейс для пользователей, важно понять, как эти свойства влияют на ввод текста с помощью сенсорного ввода.

  • IsSpellCheckEnabled— если для элемента управления текстом включена проверка орфографии, элемент управления взаимодействует с подсистемой орфографии проверка системы, чтобы пометить слова, которые не распознаются. Вы можете коснуться слова, чтобы просмотреть список предлагаемых исправлений. Функция проверка орфографии включена по умолчанию.

    Для входных область данных по умолчанию это свойство также включает автоматическую заглавную букву первого слова в предложении и автоматическое исправление слов при вводе. Эти функции автоматического исправления могут быть отключены в других входных область. Дополнительные сведения см. в таблицах далее в этом разделе.

  • IsTextPredictionEnabled— если для элемента управления текстом включено прогнозирование текста, система отображает список слов, которые могут начинать вводиться. Вы можете выбрать из списка, чтобы не нужно вводить целое слово. Прогнозирование текста включено по умолчанию.

    Прогнозирование текста может быть отключено, если входной область отличается от default, даже если свойство IsTextPredictionEnabled имеет значение true. Дополнительные сведения см. в таблицах далее в этом разделе.

  • PreventKeyboardDisplayOnProgrammaticFocus. Если это свойство имеет значение true, система не будет отображать SIP при программном установке фокуса на текстовом элементе управления. Вместо этого клавиатура отображается только при взаимодействии пользователя с элементом управления.

Индекс сенсорной клавиатуры для Windows

В этих таблицах показаны макеты панели обратимого ввода Windows (SIP) для общих входных область значений. Эффект входных область на функции, включенные свойствами IsSpellCheckEnabled и IsTextPredictionEnabled, перечислены для каждого входного область. Это не полный список доступных входных область.

Совет

Вы можете переключать большинство сенсорных клавиатур между алфавитным макетом и макетом чисел и символов, нажав клавишу &123 , чтобы изменить макет чисел и символов, и нажать клавишу abcd , чтобы изменить алфавитный макет.

По умолчанию

<TextBox InputScope="Default"/>

Сенсорная клавиатура Windows по умолчанию.

Default Windows touch keyboard

  • Орфографический проверка: включен, если IsSpellCheckEnabled true, отключено, если IsSpellCheckEnabled = = false
  • Автоматическое исправление: включено, если IsSpellCheckEnabled true, отключено, если IsSpellCheckEnabled = = false
  • Автоматическая заглавная буква: включена, если IsSpellCheckEnabled true, отключено, если IsSpellCheckEnabled = = false
  • Прогнозирование текста: включено, если IsTextPredictionEnabled true, отключено, если IsTextPredictionEnabled = = false

CurrencyAmountAndSymbol

<TextBox InputScope="CurrencyAmountAndSymbol"/>

Номера и символы по умолчанию раскладка клавиатуры.

Windows touch keyboard for currency

  • Включает клавиши слева и справа на странице для отображения дополнительных символов
  • Орфографические проверка: по умолчанию можно отключить
  • Автоматическое исправление: по умолчанию можно отключить
  • Автоматическая заглавная буква: всегда отключена
  • Прогнозирование текста: по умолчанию можно отключить

URL

<TextBox InputScope="Url"/>

Windows touch keyboard for URLs

  • Включает ключи .com и go key (Go). Нажмите и удерживайте клавишу .com для отображения дополнительных параметров (.org, .net и суффиксов, относящихся к регионам)
  • Включает ключи :, -и / ключи
  • Орфографические проверка: по умолчанию можно включить
  • Автоматическое исправление: по умолчанию можно включить
  • Автоматическая заглавная буква: по умолчанию может быть включена
  • Прогнозирование текста: по умолчанию можно включить

EmailSmtpAddress

<TextBox InputScope="EmailSmtpAddress"/>

Windows touch keyboard for email addresses

  • Включает ключи @ и .com . Нажмите и удерживайте клавишу .com для отображения дополнительных параметров (.org, .net и суффиксов, относящихся к регионам)
  • Включает _и - ключи
  • Орфографические проверка: по умолчанию можно включить
  • Автоматическое исправление: по умолчанию можно включить
  • Автоматическая заглавная буква: по умолчанию может быть включена
  • Прогнозирование текста: по умолчанию можно включить

Число

<TextBox InputScope="Number"/>

Windows touch keyboard for numbers

  • Орфографические проверка: по умолчанию можно отключить
  • Автоматическое исправление: по умолчанию можно отключить
  • Автоматическая заглавная буква: всегда отключена
  • Прогнозирование текста: по умолчанию можно отключить

TelephoneNumber

<TextBox InputScope="TelephoneNumber"/>

Windows touch keyboard for telephone numbers

  • Орфографические проверка: по умолчанию можно отключить
  • Автоматическое исправление: по умолчанию можно отключить
  • Автоматическая заглавная буква: всегда отключена
  • Прогнозирование текста: по умолчанию можно отключить

<TextBox InputScope="Search"/>

Windows touch keyboard for search

  • Включает ключ поиска вместо клавиши ВВОД
  • Орфографические проверка: по умолчанию можно отключить
  • Автоматическое исправление: по умолчанию можно отключить
  • Автоматическая заглавная запись: всегда отключено
  • Прогнозирование текста: по умолчанию можно отключить

SearchIncremental

<TextBox InputScope="SearchIncremental"/>

Windows touch keyboard for incremental search

  • Тот же макет, что и по умолчанию
  • Орфографические проверка: по умолчанию можно включить
  • Автоматическое исправление: всегда отключено
  • Автоматическая заглавная буква: всегда отключена
  • Прогнозирование текста: всегда отключено

Формула

<TextBox InputScope="Formula"/>

Windows touch keyboard for formula

  • = Включает ключ
  • Также включает в %себя ключи $и + ключи
  • Орфографические проверка: по умолчанию можно отключить
  • Автоматическое исправление: по умолчанию можно отключить
  • Автоматическая заглавная буква: всегда отключена
  • Прогнозирование текста: по умолчанию можно отключить

Чат

<TextBox InputScope="Chat"/>

Default Windows touch keyboard

  • Тот же макет, что и по умолчанию
  • Орфографические проверка: по умолчанию можно отключить
  • Автоматическое исправление: по умолчанию можно отключить
  • Автоматическая заглавная буква: по умолчанию может быть отключена
  • Прогнозирование текста: по умолчанию можно отключить

NameOr Телефон Number

<TextBox InputScope="NameOrPhoneNumber"/>

Default Windows touch keyboard

  • Тот же макет, что и по умолчанию
  • Орфографические проверка: по умолчанию можно включить
  • Автоматическое исправление: по умолчанию можно включить
  • Автоматическая заглавная буква: по умолчанию может быть включена (первая буква каждого слова — прописная буква).
  • Прогнозирование текста: по умолчанию можно включить