Condividi tramite


Usare l'ambito di input per modificare la tastiera touch.

Per aiutare gli utenti a immettere dati con la tastiera virtuale, o SIP (Soft Input Panel), puoi impostare l'ambito di input del controllo di testo in modo che corrisponda al tipo di dati che l'utente deve immettere.

API importanti

La tastiera touch può essere usata per l'inserimento di testo quando l'app viene eseguita su un dispositivo con un touchscreen. La tastiera touch viene richiamata quando l'utente tocca un campo di input modificabile, ad esempio un TextBox o RichEditBox. Puoi rendere molto più veloce e facile per gli utenti immettere i dati nella tua app impostando l'ambito di input del controllo di testo in modo che corrisponda al tipo di dati che prevedi che l'utente immetta. L'ambito di input fornisce un suggerimento al sistema sul tipo di input di testo previsto dal controllo in modo che il sistema possa fornire un layout di tastiera touch specializzato per il tipo di input.

Ad esempio, se una casella di testo viene usata solo per immettere un PIN a 4 cifre, impostare la proprietà InputScope su number. Questo indica al sistema di visualizzare il layout del tastierino numerico, che semplifica l'immissione del PIN da parte dell'utente.

Importante

  • Queste informazioni si applicano solo al sip. Non si applica alle tastiere hardware o alla tastiera su schermo disponibile nelle opzioni Accessibilità di Windows.
  • L'ambito di input non consente di eseguire nessuna convalida di input e non impedisce all'utente di fornire input mediante tastiera hardware o altri dispositivi di input. Sei ancora responsabile della convalida dell'input nel tuo codice quando necessario.

Modifica dell'ambito di input di un controllo di testo

Gli ambiti di input disponibili per l'app sono membri dell'enumerazione InputScopeNameValue. È possibile impostare la proprietà InputScope di un TextBox o RichEditBox su uno di questi valori.

Importante

La proprietà InputScope in PasswordBox supporta solo i valori di password e numericPin . Qualsiasi altro valore viene ignorato.

In questo caso, si modifica l'ambito di input di diverse caselle di testo in modo che corrispondano ai dati previsti per ogni casella di testo.

Per modificare l'ambito di input in XAML

  1. Nel file XAML per la tua pagina, individua il tag per il controllo di testo che si vuole modificare.

  2. Aggiungere l'attributo InputScope al tag e specificare il valore InputScopeNameValue corrispondente all'input previsto.

    Ecco alcune caselle di testo che potrebbero essere visualizzate in un modulo comune di contatto del cliente. Con il InputScope impostato, per ogni casella di testo compare una tastiera virtuale con un layout appropriato per i dati.

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

Per modificare l'ambito di input nel codice

  1. Nel file XAML per la tua pagina, individua il tag per il controllo di testo che si vuole modificare. Se non è impostato, impostare l'attributo x:Name per fare riferimento al controllo nel codice.

    <TextBox Header="Telephone Number" x:Name="phoneNumberTextBox"/>
    
  2. Istanziare un nuovo oggetto InputScope.

    InputScope scope = new InputScope();
    
  3. Creare un'istanza di un nuovo oggetto InputScopeName.

    InputScopeName scopeName = new InputScopeName();
    
  4. Impostare la proprietà NameValue dell'oggetto InputScopeName a un valore dell'enumerazione InputScopeNameValue.

    scopeName.NameValue = InputScopeNameValue.TelephoneNumber;
    
  5. Aggiungere l'oggetto InputScopeName alla raccolta Names dell'oggetto InputScope.

    scope.Names.Add(scopeName);
    
  6. Impostare come valore della proprietà InputScope l'oggetto del controllo di testo .

    phoneNumberTextBox.InputScope = scope;
    

Ecco il codice completo.

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

Gli stessi passaggi possono essere condensati in questo codice abbreviato.

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

Previsione del testo, controllo ortografico e correzione automatica

I controlli TextBox e RichEditBox hanno diverse proprietà che influenzano il comportamento del sip. Per offrire agli utenti un'esperienza ottimale, è importante comprendere in che modo queste proprietà influiscono sull'input di testo usando il tocco.

  • IsSpellCheckEnabled: quando il controllo ortografico è abilitato per un controllo testo, il controllo interagisce con il motore di controllo ortografico del sistema per contrassegnare le parole non riconosciute. È possibile toccare una parola per visualizzare un elenco di correzioni suggerite. Il controllo ortografico è abilitato per impostazione predefinita.

    Per l'ambito di input predefinito, questa proprietà abilita anche l'uso automatico della maiuscola per la prima parola in una frase e la correzione automatica delle parole durante la digitazione. Queste funzionalità di correzione automatica potrebbero essere disabilitate in altri ambiti di input. Per altre info, vedi le tabelle più avanti in questo argomento.

  • IsTextPredictionEnabled— quando la predizione del testo è abilitata per un controllo testo, il sistema visualizza un elenco di parole che potresti iniziare a digitare. È possibile selezionare dall'elenco in modo che non sia necessario digitare l'intera parola. La predizione del testo è abilitata per impostazione predefinita.

    La predizione del testo potrebbe essere disabilitata se l'ambito di input non è Default, anche se la proprietà IsTextPredictionEnabled è true. Per altre info, vedi le tabelle più avanti in questo argomento.

  • PreventKeyboardDisplayOnProgrammaticFocus—quando questa proprietà è true, impedisce al sistema di visualizzare il SIP quando il focus è impostato programmaticamente su un controllo di testo. La tastiera viene invece visualizzata solo quando l'utente interagisce con il controllo .

Indice della tastiera touch per Windows

Queste tabelle mostrano i layout SIP (Soft Input Panel) di Windows per i valori comuni dell'ambito di input. L'effetto dell'ambito di input sulle caratteristiche abilitate dalle proprietà IsSpellCheckEnabled e IsTextPredictionEnabled è riportato per ciascun ambito di input. Non si tratta di un elenco completo degli ambiti di input disponibili.

Suggerimento

È possibile attivare o disattivare la maggior parte delle tastiere touch tra un layout alfabetico e un layout numeri e simboli premendo il tasto &123 per passare al layout numeri e simboli e premere il tasto abcd per passare al layout alfabetico.

Impostazione predefinita

<TextBox InputScope="Default"/>

Tastiera virtuale di Windows predefinita.

tastiera touch di Windows predefinita

  • Controllo ortografico: attivo se IsSpellCheckEnabled = true, non attivo se IsSpellCheckEnabled = false
  • Correzione automatica: abilitata se IsSpellCheckEnabled = vero, disabilitata se IsSpellCheckEnabled = falso
  • Maiuscola automatica: abilitata se IsSpellCheckEnabled = true, disabilitata se IsSpellCheckEnabled = false
  • Previsione testo: attivata se IsTextPredictionEnabled = vero, disattivata se IsTextPredictionEnabled = falso

ImportoValutaESimbolo

<TextBox InputScope="CurrencyAmountAndSymbol"/>

Il layout predefinito della tastiera per numeri e simboli.

tastiera touchscreen di Windows per la valuta

  • Include i tasti di pagina a sinistra/destra per visualizzare più simboli
  • Controllo ortografico: attivato per impostazione predefinita, può essere disabilitato
  • Correzione automatica: attivata per impostazione predefinita, può essere disabilitata
  • Maiuscola automatica: sempre disattivata
  • Previsione del testo: attivata per impostazione predefinita, può essere disabilitata

URL

<TextBox InputScope="Url"/>

tastiera tattile di Windows per gli URL

  • Include i tasti .com e go (Go). Tenere premuto il tasto .com per visualizzare opzioni aggiuntive (.org, .nete suffissi specifici dell'area)
  • Include le chiavi :, -e /
  • Controllo ortografico: disattivato per impostazione predefinita, può essere abilitato
  • Correzione automatica: disattivata per impostazione predefinita, può essere abilitata
  • Maiuscola automatica: disattivata per impostazione predefinita, può essere abilitata
  • Previsione del testo: disattivata per impostazione predefinita, può essere abilitata

IndirizzoSMTPEmail

<TextBox InputScope="EmailSmtpAddress"/>

tastiera virtuale di Windows per gli indirizzi di posta elettronica

  • Includono le chiavi @ e e .com. Tenere premuto il tasto .com per visualizzare opzioni aggiuntive (.org, .nete suffissi specifici dell'area)
  • Includono le chiavi , e -
  • Controllo ortografico: disattivato per impostazione predefinita, può essere abilitato
  • Correzione automatica: disattivata per impostazione predefinita, può essere abilitata
  • Maiuscola automatica: disattivata per impostazione predefinita, può essere abilitata
  • Previsione del testo: disattivata per impostazione predefinita, può essere abilitata

Numero

<TextBox InputScope="Number"/>

tastiera virtuale Windows per i numeri

  • Controllo ortografico: attivato per impostazione predefinita, può essere disabilitato
  • Correzione automatica: attivata per impostazione predefinita, può essere disabilitata
  • Maiuscola automatica: sempre disattivata
  • Previsione del testo: attivata per impostazione predefinita, può essere disabilitata

Numero di telefono

<TextBox InputScope="TelephoneNumber"/>

tastiera virtuale Windows per i numeri di telefono

  • Controllo ortografico: attivato per impostazione predefinita, può essere disabilitato
  • Correzione automatica: attivata per impostazione predefinita, può essere disabilitata
  • Maiuscola automatica: sempre disattivata
  • Previsione del testo: attivata per impostazione predefinita, può essere disabilitata

<TextBox InputScope="Search"/>

tastiera touch Windows per ricerca

  • Include il tasto di ricerca anziché il tasto Invio
  • Controllo ortografico: attivato per impostazione predefinita, può essere disabilitato
  • Correzione automatica: attivata per impostazione predefinita, può essere disabilitata
  • Capitalizzazione automatica: sempre disattivata
  • Previsione del testo: attivata per impostazione predefinita, può essere disabilitata

SearchIncremental

<TextBox InputScope="SearchIncremental"/>

tastiera touch Windows per ricerca incrementale

  • Stesso layout predefinito di
  • Controllo ortografico: disattivato per impostazione predefinita, può essere abilitato
  • Correzione automatica: sempre disabilitata
  • Maiuscola automatica: sempre disattivata
  • Previsione del testo: sempre disabilitata

Formula

<TextBox InputScope="Formula"/>

tastiera touch Windows per la formula

  • Include la chiave =
  • Include anche le chiavi %, $e +
  • Controllo ortografico: attivato per impostazione predefinita, può essere disabilitato
  • Correzione automatica: attivata per impostazione predefinita, può essere disabilitata
  • Maiuscola automatica: sempre disattivata
  • Previsione del testo: attivata per impostazione predefinita, può essere disabilitata

Conversazione

<TextBox InputScope="Chat"/>

tastiera touch di Windows predefinita

  • Stesso layout predefinito di
  • Controllo ortografico: attivato per impostazione predefinita, può essere disabilitato
  • Correzione automatica: attivata per impostazione predefinita, può essere disabilitata
  • Maiuscola automatica: attivata per impostazione predefinita, può essere disabilitata
  • Previsione del testo: attivata per impostazione predefinita, può essere disabilitata

NomeONumeroDiTelefono

<TextBox InputScope="NameOrPhoneNumber"/>

tastiera touch di Windows predefinita

  • Stesso layout predefinito di
  • Controllo ortografico: disattivato per impostazione predefinita, può essere abilitato
  • Correzione automatica: disattivata per impostazione predefinita, può essere abilitata
  • Maiuscola automatica: disattivata per impostazione predefinita, può essere abilitata (prima lettera di ogni parola è maiuscola)
  • Previsione del testo: disattivata per impostazione predefinita, può essere abilitata