Introdução
Durante o desenvolvimento de qualquer tipo de aplicação é extremamente comum que seja necessário utilizarmos campos textos para que o usuário realize a entrada de alguma informação.

No entanto quando trabalhamos com aplicações web, ou desktop, nossa maior preocupação é apenas realizar as devidas validações de dados para garantir que iremos receber um dado válido. Já em aplicações móveis, além de precisarmos nos preocupar com as validações tradicionais, é muito importante que tentemos facilitar o preenchimento da informação pelo usuário.

Nas aplicações do Windows Phone contamos com um recurso simples de ser utilizado, porém de grande valia para nós.

O que é o InputScope
O InputScope basicamente é o recurso que permite ao desenvolvedor definir qual o melhor layout de teclado a ser exibido pela aplicação para que o usuário possa realizar o preenchimento do campo, como por exemplo o preenchimento de um campo somente numérico, ou o endereço de um e-mail.

Definindo o InputScope
A definição do InputScope que será utilizado por cada campo texto, deve ser realizada para um dos valores aceitos e definidos pelo enumarador InputScopeNameValue, e é bem simples podendo ser realizada de diversas maneiras, como podemos conferir a seguir:

  1. XAML
    • Adicione um controle do tipo TextBox em sua página;
    • Defina a propriedade InputScope para o valor desejado, conforme o seguinte exemplo: 
      <TextBox Name="textBox1" InputScope="Number" />
  2. XAML com IntelliSense
    • Como pudemos perceber no exemplo anterior, a maior dificuldade que poderíamos enfrentar é que ao utilizarmos a propriedade InputScope não é exibido o IntelliSense com o valores possíveis. No entanto podemos resolver isso, e utilizar o IntelliSense, se realizarmos a definição da seguinte maneira: 
      <TextBox Name="textBox2">
           <TextBox.InputScope>
                <InputScope>
                     <InputScopeName NameValue="EmailNameOrAddress" />
                </InputScope>
           </TextBox.InputScope>
      </TextBox>
  3. Código
    • Adicione um controle do tipo TextBox em sua página;
    • Em seu arquivo de code-behind, adicione o seguinte trecho de código no construtor da classe: 
      public MainPage()
      {
           InitializeComponent();
      
           InputScope scope = new InputScope();
           InputScopeName name = new InputScopeName();
      
           name.NameValue = InputScopeNameValue.Number;
           scope.Names.Add(name);
      
           textBox3.InputScope = scope;
      }

Conclusão
Como pudemos perceber, apesar de ser um recurso simples de ser utilizado pelo desenvolvedor, o InputScope oferece para o usuário da aplicação uma usabilidade facilitada e um experiência rica. Dessa forma sempre devemos nos preocupar com a definição correta do InputScope. Até a próxima…