Partilhar via


Utilize o escopo de entrada para modificar o teclado tátil

Para ajudar os usuários a inserir dados usando o teclado virtual ou o SIP (Painel de Entrada Flexível), 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 tela sensível ao toque. O teclado tátil é invocado quando o utilizador toca num 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. Esta instrução ordena ao sistema para mostrar o layout do teclado numérico, o que torna mais fácil para o utilizador inserir o PIN.

Importante

  • Esta informação aplica-se apenas ao SIP. Não se aplica a teclados de hardware ou ao teclado virtual disponível nas opções de 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 qualquer 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 a sua aplicação são membros da enumeração InputScopeNameValue. Você pode definir a propriedade InputScope de um TextBox ou RichEditBox para um desses valores.

Importante

A propriedade InputScope em PasswordBox suporta apenas os 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 sua página, localize a marca do controle de texto que você deseja alterar.

  2. Adicione o atributo InputScope à tag e especifique o valor InputScopeNameValue que corresponda à 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 tátil com um layout apropriado para os dados é exibido em 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 no código

  1. No arquivo XAML da sua página, localize a marca do controle de texto que você deseja alterar. Se não estiver definido, defina o atributo x:Name para que você possa fazer referência ao 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 InputScopeName objeto.

    InputScopeName scopeName = new InputScopeName();
    
  4. Defina a propriedade NameValue do objeto InputScopeName para 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 controlo 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;

Os mesmos passos podem ser condensados neste 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á ativada por predefinição.

    Para o escopo de entrada padrão , essa propriedade também permite a capitalização automática da primeira palavra numa frase e a correção automática de palavras enquanto escreve. Esses recursos de correção automática podem ser desativados 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 está habilitada por padrão.

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

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

Índice de teclado tátil para Windows

Estas tabelas mostram os layouts do Windows Soft Input Panel (SIP) 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.

Sugestão

Você pode alternar a maioria dos teclados de 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 pressionando a tecla abcd para mudar para o layout alfabético.

Predefinido

<TextBox InputScope="Default"/>

O teclado tátil predefinido do Windows.

Teclado tátil predefinido do Windows

  • Verificação ortográfica: ativada se IsSpellCheckEnabled = true, desativada se IsSpellCheckEnabled = false
  • Auto-correção: ativada se IsSpellCheckEnabled = verdadeiro, desativada se IsSpellCheckEnabled = falso
  • Capitalização automática: ativada se IsSpellCheckEnabled = verdadeiro, desativada se IsSpellCheckEnabled = falso
  • Previsão de texto: ativado se IsTextPredictionEnabled = true , desabilitado se IsTextPredictionEnabled = falso

MontanteECódigoDaMoeda

<TextBox InputScope="CurrencyAmountAndSymbol"/>

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

teclado tátil do Windows para moeda

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

Endereço URL

<TextBox InputScope="Url"/>

teclado tátil do Windows para URLs

  • Inclui as teclas .com e go key (Go). Pressione e segure a tecla .com para exibir opções adicionais (.org, .nete sufixos específicos da região)
  • Inclui as teclas :, -e /
  • Verificação ortográfica: desativada por padrão, pode ser ativada
  • Auto-correção: desligado por padrão, pode ser ativado
  • Capitalização automática: desativada por padrão, pode ser ativada
  • Previsão de texto: desativado por padrão, pode ser ativado

Endereço electrónicoSmtpAddress

<TextBox InputScope="EmailSmtpAddress"/>

teclado de toque do Windows para endereços de e-mail

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

Número

<TextBox InputScope="Number"/>

teclado tátil do Windows para números

  • Verificação ortográfica: ativada por padrão, pode ser desativada
  • Auto-correção: ativado por padrão, pode ser desativado
  • Capitalização automática: sempre desativada
  • Previsão de texto: ativado por padrão, pode ser desativado

Número de telefone

<TextBox InputScope="TelephoneNumber"/>

teclado tátil do Windows para números de telefone

  • Verificação ortográfica: ativada por padrão, pode ser desativada
  • Auto-correção: ativado por padrão, pode ser desativado
  • Capitalização automática: sempre desativada
  • Previsão de texto: ativado por padrão, pode ser desativado

<TextBox InputScope="Search"/>

teclado tátil do Windows para pesquisa

  • Inclui a tecla Search em vez da tecla Enter
  • Verificação ortográfica: ativada por padrão, pode ser desativada
  • Auto-correção: ativado por padrão, pode ser desativado
  • Capitalização automática: sempre desativada
  • Previsão de texto: ativado por padrão, pode ser desativado

SearchIncremental

<TextBox InputScope="SearchIncremental"/>

teclado tátil do Windows para pesquisa incremental

  • O mesmo layout que padrão
  • Verificação ortográfica: desativada por padrão, pode ser ativada
  • Auto-correção: sempre desativado
  • Capitalização automática: sempre desativada
  • Previsão de texto: sempre desativado

Formula

<TextBox InputScope="Formula"/>

teclado tátil do Windows para fórmula

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

Chat

<TextBox InputScope="Chat"/>

Teclado tátil predefinido do Windows

  • O mesmo layout que padrão
  • Verificação ortográfica: ativada por padrão, pode ser desativada
  • Auto-correção: ativado por padrão, pode ser desativado
  • Capitalização automática: ativada por padrão, pode ser desativada
  • Previsão de texto: ativado por padrão, pode ser desativado

NomeOuNúmeroDeTelefone

<TextBox InputScope="NameOrPhoneNumber"/>

Teclado tátil predefinido do Windows

  • O mesmo layout que padrão
  • Verificação ortográfica: desativada por padrão, pode ser ativada
  • Auto-correção: desligado por padrão, pode ser ativado
  • Capitalização automática: desativada por padrão, pode ser ativada (a primeira letra de cada palavra é maiúscula)
  • Previsão de texto: desativado por padrão, pode ser ativado