Compartilhar via


Usar o escopo de entrada para alterar o teclado sensível ao toque

Para ajudar os usuários a inserir dados usando o teclado virtual ou o SIP (Soft Input Panel), você pode definir o escopo de entrada do controle de texto para corresponder ao tipo de dados que o usuário deve inserir.

APIs importantes

O teclado virtual pode ser usado para entrada de texto quando seu aplicativo é executado em um dispositivo com uma tela sensível ao toque. O teclado virtual é invocado quando o usuário toca em um campo de entrada editável, como um TextBox ou RichEditBox. Você pode tornar muito mais rápido e fácil para os usuários inserir dados em seu aplicativo definindo o escopo de entrada do controle de texto para corresponder ao tipo de dados que você espera que o usuário insira. O escopo de entrada fornece uma dica para o sistema sobre o tipo de entrada de texto esperado pelo controle para que o sistema possa fornecer um layout de teclado virtual especializado para o tipo de entrada.

Por exemplo, se uma caixa de texto for usada apenas para inserir um PIN de 4 dígitos, defina a propriedade InputScope como Number. Isto instrui o sistema a mostrar o layout do teclado numérico, facilitando a digitação do PIN pelo usuário.

Importante

  • Essas informações se aplicam somente ao SIP. Ele não se aplica aos teclados de hardware ou ao teclado virtual disponível nas opções facilidade de acesso do Windows.
  • O escopo de entrada não faz com que nenhuma validação de entrada seja executada e não impede que o usuário forneça nenhuma entrada por meio de um teclado de hardware ou outro dispositivo de entrada. Você ainda é responsável por validar a entrada em seu código conforme necessário.

Alterando o escopo de entrada de um controle de texto

Os escopos de entrada disponíveis para seu aplicativo são membros da enumeração InputScopeNameValue . Você pode definir a propriedade InputScope de um TextBox ou de um RichEditBox para um desses valores.

Importante

A propriedade InputScope da PasswordBox dá suporte apenas aos valores Password e NumericPin. Qualquer outro valor é ignorado.

Aqui, você altera o escopo de entrada de várias caixas de texto para corresponder aos dados esperados para cada caixa de texto.

Para alterar o escopo de entrada no XAML

  1. No arquivo XAML da página, localize a marca para o controle de texto que você deseja alterar.

  2. Adicione o atributo InputScope à tag e especifique o valor InputScopeNameValue que corresponde à entrada esperada.

    Aqui estão algumas caixas de texto que podem aparecer em um formulário comum de contato do cliente. Com o InputScope definido, um teclado de toque com um layout adequado para o tipo de dado é exibido para cada caixa de texto.

    <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>
    

Para alterar o escopo de entrada de código no

  1. No arquivo XAML da página, localize a marca para o controle de texto que você deseja alterar. Se ele não estiver definido, defina o atributo x:Name para que você possa referenciar o controle em seu código.

    <TextBox Header="Telephone Number" x:Name="phoneNumberTextBox"/>
    
  2. Instancie um novo objeto InputScope .

    InputScope scope = new InputScope();
    
  3. Instancie um novo objeto InputScopeName .

    InputScopeName scopeName = new InputScopeName();
    
  4. Defina a propriedade NameValue do objeto InputScopeName como um valor da enumeração InputScopeNameValue .

    scopeName.NameValue = InputScopeNameValue.TelephoneNumber;
    
  5. Adicione o objeto InputScopeName à coleção Names do objeto InputScope .

    scope.Names.Add(scopeName);
    
  6. Defina o objeto InputScope como o valor da propriedade InputScope do controle de texto.

    phoneNumberTextBox.InputScope = scope;
    

Aqui está o código todo junto.

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

As mesmas etapas podem ser condensadas nesse código abreviado.

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

Previsão de texto, verificação ortográfica e correção automática

Os controles TextBox e RichEditBox têm várias propriedades que influenciam o comportamento do SIP. Para fornecer a melhor experiência para seus usuários, é importante entender como essas propriedades afetam a entrada de texto usando o toque.

  • IsSpellCheckEnabled— Quando a verificação ortográfica está habilitada para um controle de texto, o controle interage com o mecanismo de verificação ortográfica do sistema para marcar palavras que não são reconhecidas. Você pode tocar em uma palavra para ver uma lista de correções sugeridas. A verificação ortográfica está habilitada por padrão.

    Para o escopo de entrada Padrão, essa propriedade também permite a capitalização automática da primeira palavra em uma frase e a correção automática de palavras conforme você digita. Esses recursos de correção automática podem estar desabilitados em outros escopos de entrada. Para obter mais informações, consulte as tabelas mais adiante neste tópico.

  • IsTextPredictionEnabled — quando a previsão de texto está habilitada para um controle de texto, o sistema mostra uma lista de palavras que você pode estar começando a digitar. Você pode selecionar na lista para não precisar digitar a palavra inteira. A previsão de texto é habilitada por padrão.

    A previsão de texto pode estar desativada se o escopo de entrada não for Padrão, ainda que a propriedade IsTextPredictionEnabled seja verdadeira. Para obter mais informações, consulte as tabelas mais adiante neste tópico.

  • PreventKeyboardDisplayOnProgrammaticFocus— quando essa propriedade é verdadeira, ela impede que o sistema mostre o SIP quando o foco é definido programaticamente em um controle de texto. Em vez disso, o teclado é mostrado somente quando o usuário interage com o controle.

Índice de teclado de toque para Windows

Essas tabelas mostram os layouts do Painel de Entrada Suave (SIP) do Windows para valores comuns de escopo de entrada. O efeito do escopo de entrada nas funcionalidades ativadas pelas propriedades IsSpellCheckEnabled e isTextPredictionEnabled é listado para cada escopo de entrada. Esta não é uma lista abrangente de escopos de entrada disponíveis.

Dica

Você pode alternar a maioria dos teclados sensíveis ao toque entre um layout alfabético e um layout de números e símbolos pressionando a tecla &123 para alterar para o layout de números e símbolos e pressionar a tecla abcd para alterar para o layout alfabético.

Padrão

<TextBox InputScope="Default"/>

O teclado virtual padrão do Windows.

Teclado touch padrão do Windows

  • Verificação ortográfica: habilitada se IsSpellCheckEnabled = true, desabilitada se IsSpellCheckEnabled = false
  • Correção automática: ativada se IsSpellCheckEnabled = verdadeiro, desativada se IsSpellCheckEnabled = falso
  • Capitalização automática: habilitada se IsSpellCheckEnabled = verdadeiro, desabilitada se IsSpellCheckEnabled = falso
  • Previsão de texto: habilitada se IsTextPredictionEnabled = true, desabilitada se IsTextPredictionEnabled = false

ValorEMoedaESímbolo

<TextBox InputScope="CurrencyAmountAndSymbol"/>

O layout de teclado de números e símbolos padrão.

teclado virtual de toque do Windows para moeda

  • Inclui as teclas esquerda/direita da página para mostrar mais símbolos
  • Verificação ortográfica: ativada por padrão, pode ser desabilitada
  • Correção automática: ativado por padrão, pode ser desabilitado
  • Capitalização automática: sempre desabilitada
  • Previsão de texto: ativado por padrão, pode ser desabilitado

URL

<TextBox InputScope="Url"/>

teclado sensível ao toque do Windows para URLs

  • Inclui as teclas .com e as teclas de avançar (Go). Pressione e segure a tecla .com para exibir opções adicionais (.org, .net e sufixos específicos da região)
  • Inclui :,- e / chaves
  • Verificação ortográfica: desativada por padrão, pode ser habilitada
  • Correção automática: desativado por padrão, pode ser habilitado
  • Capitalização automática: desativada por padrão, pode ser habilitada
  • Previsão de texto: desativado por padrão, pode ser habilitado

EndereçoEmailSmtp

<TextBox InputScope="EmailSmtpAddress"/>

teclado virtual de toque do Windows para endereços de email

  • Inclui as chaves @ e .com. Pressione e segure a tecla .com para exibir opções adicionais (.org, .net e sufixos específicos da região)
  • Inclui as chaves _ e -
  • Verificação ortográfica: desativada por padrão, pode ser habilitada
  • Correção automática: desativado por padrão, pode ser habilitado
  • Capitalização automática: desativada por padrão, pode ser habilitada
  • Previsão de texto: desativado por padrão, pode ser habilitado

Número

<TextBox InputScope="Number"/>

teclado touchscreen do Windows para números

  • Verificação ortográfica: ativada por padrão, pode ser desabilitada
  • Correção automática: ativado por padrão, pode ser desabilitado
  • Capitalização automática: sempre desabilitada
  • Previsão de texto: ativado por padrão, pode ser desabilitado

Número de Telefone

<TextBox InputScope="TelephoneNumber"/>

teclado virtual do Windows para números de telefone

  • Verificação ortográfica: ativada por padrão, pode ser desabilitada
  • Correção automática: ativado por padrão, pode ser desabilitado
  • Capitalização automática: sempre desabilitada
  • Previsão de texto: ativado por padrão, pode ser desabilitado

<TextBox InputScope="Search"/>

teclado de toque do Windows para pesquisa

  • Inclui a tecla de Pesquisa em vez da tecla Enter
  • Verificação ortográfica: ativada por padrão, pode ser desabilitada
  • Correção automática: ativado por padrão, pode ser desabilitado
  • Capitalização automática: sempre desabilitada
  • Previsão de texto: ativado por padrão, pode ser desabilitado

SearchIncremental

<TextBox InputScope="SearchIncremental"/>

teclado touchscreen do Windows para de pesquisa incremental

  • Mesmo layout que Padrão
  • Verificação ortográfica: desativada por padrão, pode ser habilitada
  • Correção automática: sempre desabilitado
  • Capitalização automática: sempre desabilitada
  • Previsão de texto: sempre desativada

Formula

<TextBox InputScope="Formula"/>

teclado virtual do Windows para fórmulas

  • Inclui a = chave
  • Também inclui as %teclas , $e +
  • Verificação ortográfica: ativada por padrão, pode ser desabilitada
  • Correção automática: ativado por padrão, pode ser desabilitado
  • Capitalização automática: sempre desabilitada
  • Previsão de texto: ativado por padrão, pode ser desabilitado

Chat

<TextBox InputScope="Chat"/>

Teclado touch padrão do Windows

  • Mesmo layout que Padrão
  • Verificação ortográfica: ativada por padrão, pode ser desabilitada
  • Correção automática: ativado por padrão, pode ser desabilitado
  • Capitalização automática: ativada por padrão, pode ser desabilitada
  • Previsão de texto: ativado por padrão, pode ser desabilitado

NomeOuNúmeroDeTelefone

<TextBox InputScope="NameOrPhoneNumber"/>

Teclado touch padrão do Windows

  • Mesmo layout que Padrão
  • Verificação ortográfica: desativada por padrão, pode ser habilitada
  • Correção automática: desativado por padrão, pode ser habilitado
  • Capitalização automática: desativada por padrão, pode ser habilitada (a primeira letra de cada palavra é maiúscula)
  • Previsão de texto: desativado por padrão, pode ser habilitado