Utiliser l’étendue des entrées pour modifier le clavier tactile

Pour faciliter la saisie de données par les utilisateurs au moyen du clavier tactile, ou panneau de saisie, définissez l’étendue des entrées du contrôle de texte de sorte qu’elle corresponde au type de données attendu de la part de l’utilisateur.

API importantes

Le clavier tactile permet d’entrer du texte quand l’application est exécutée sur un appareil disposant d’un écran tactile. Le clavier tactile est appelé quand l’utilisateur appuie sur un champ d’entrée modifiable, comme un contrôle TextBox ou RichEditBox. Vous pouvez grandement faciliter et accélérer la saisie de données par les utilisateurs dans votre application, en définissant l’étendue des entrées du contrôle de texte afin qu’elle corresponde au type de données attendu de la part de l’utilisateur. L’étendue des entrées fournit au système une indication sur le type d’entrée de texte attendu par le contrôle, afin que le système puisse fournir une disposition de clavier tactile spécialisée pour le type d’entrée.

Par exemple, si une zone de texte est utilisée uniquement pour la saisie d’un code PIN à 4 chiffres, définissez la propriété InputScope sur Number. Ceci indique au système qu’il doit afficher la disposition du pavé numérique, ce qui permet à l’utilisateur d’entrer plus facilement le code PIN.

Important

  • Cela s’applique uniquement au portail. Il ne s’applique pas aux claviers matériels ou au clavier visuel disponible dans les options De facilité d’accès Windows.
  • ImportantL’étendue des entrées ne déclenche aucune validation et n’empêche pas l’utilisateur d’entrer des données via un clavier matériel ou un autre dispositif d’entrée. Vous restez responsable de la validation d’une entrée dans votre code, si nécessaire.

Modification de l’étendue d’entrée d’un contrôle de texte

Les étendues d’entrée disponibles pour votre application sont membres de l’énumération InputScopeNameValue . Vous pouvez définir la propriété InputScope d’un TextBox ou RichEditBox sur l’une de ces valeurs.

Important

La propriété InputScope sur PasswordBox prend uniquement en charge les valeurs Password et NumericPin. Toute autre donnée est ignorée.

Ici, vous modifiez l’étendue d’entrée de plusieurs zones de texte pour qu’elles correspondent aux données attendues pour chaque zone de texte.

Pour modifier l’étendue d’entrée en XAML

  1. Dans le fichier XAML de votre page, recherchez la balise du contrôle de texte que vous souhaitez modifier.

  2. Ajoutez l’attribut InputScope à la balise et spécifiez la valeur InputScopeNameValue qui correspond à l’entrée attendue.

    Voici quelques zones de texte qui peuvent apparaître sur un formulaire de contact client commun. Avec l’ensemble InputScope, un clavier tactile avec une disposition appropriée pour les données s’affiche pour chaque zone de texte.

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

Pour modifier l’étendue d’entrée dans le code

  1. Dans le fichier XAML de votre page, recherchez la balise du contrôle de texte que vous souhaitez modifier. S’il n’est pas défini, définissez l’attribut x :Name afin de pouvoir référencer le contrôle dans votre code.

    <TextBox Header="Telephone Number" x:Name="phoneNumberTextBox"/>
    
  2. Instanciez un nouvel objet InputScope.

    InputScope scope = new InputScope();
    
  3. Instanciez un nouvel objet InputScopeName.

    InputScopeName scopeName = new InputScopeName();
    
  4. Définissez la propriété NameValue de l’objet InputScopeName sur une valeur de l’énumération InputScopeNameValue.

    scopeName.NameValue = InputScopeNameValue.TelephoneNumber;
    
  5. Ajoutez l’objet InputScopeName à la collection Noms de l’objet InputScope.

    scope.Names.Add(scopeName);
    
  6. Définissez l’objet InputScope comme valeur de la propriété InputScope du contrôle de texte InputScope.

    phoneNumberTextBox.InputScope = scope;
    

Voici le code ensemble.

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

Les mêmes étapes peuvent être condensées dans ce code abrégé.

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

Prédiction de texte, case activée orthographique et correction automatique

Les contrôles TextBox et RichEditBox ont plusieurs propriétés qui influencent le comportement du protocole SIP. Pour offrir la meilleure expérience à vos utilisateurs, il est important de comprendre comment ces propriétés affectent l’entrée de texte à l’aide de l’interaction tactile.

  • IsSpellCheckEnabled : lorsque l’case activée orthographique est activée pour un contrôle de texte, le contrôle interagit avec le moteur de case activée orthographique du système pour marquer les mots qui ne sont pas reconnus. Vous pouvez appuyer sur un mot pour afficher la liste des corrections suggérées. Le case activée orthographique est activé par défaut.

    Pour l’étendue d’entrée par défaut, cette propriété active également la mise en majuscule automatique du premier mot dans une phrase et la correction automatique des mots lorsque vous tapez. Ces fonctionnalités de correction automatique peuvent être désactivées dans d’autres étendues d’entrée. Pour plus d'informations, consultez la table plus loin dans cette rubrique.

  • IsTextPredictionEnabled : lorsque la prédiction de texte est activée pour un contrôle de texte, le système affiche une liste de mots que vous commencez peut-être à taper. Vous pouvez sélectionner dans la liste pour ne pas avoir à taper le mot entier. La prédiction de texte est activée par défaut.

    La prédiction de texte peut être désactivée si l’étendue d’entrée est autre que Default, même si la propriété IsTextPredictionEnabled a la valeur true. Pour plus d'informations, consultez la table plus loin dans cette rubrique.

  • PreventKeyboardDisplayOnProgrammaticFocus : lorsque cette propriété est vraie, elle empêche le système d’afficher le protocole SIP lorsque le focus est défini par programmation sur un contrôle de texte. Au lieu de cela, le clavier est affiché uniquement lorsque l’utilisateur interagit avec le contrôle.

Index clavier tactile pour Windows

Ces tableaux affichent les dispositions du panneau d’entrée réversible Windows (SIP) pour les valeurs d’étendue d’entrée courantes. L’effet de l’étendue d’entrée sur les fonctionnalités activées par les propriétés IsSpellCheckEnabled et IsTextPredictionEnabled est répertorié pour chaque étendue d’entrée. Il ne s’agit pas d’une liste complète des étendues d’entrée disponibles.

Conseil

Vous pouvez activer la plupart des claviers tactiles entre une disposition alphabétique et une disposition de nombres et de symboles en appuyant sur la touche &123 pour passer à la disposition des nombres et des symboles, puis appuyer sur la touche abcd pour passer à la disposition alphabétique.

Par défaut

<TextBox InputScope="Default"/>

Clavier tactile Windows par défaut.

Default Windows touch keyboard

  • Orthographe case activée : activée si IsSpellCheckEnabled = true, désactivée si IsSpellCheckEnabled false =
  • Correction automatique : activée si IsSpellCheckEnabled = true, désactivée si IsSpellCheckEnabled false =
  • Mise en majuscule automatique : activée si IsSpellCheckEnabled = true, désactivée si IsSpellCheckEnabled false =
  • Prédiction de texte : activée si IsTextPredictionEnabled = true, désactivée si IsTextPredictionEnabled false =

CurrencyAmountAndSymbol

<TextBox InputScope="CurrencyAmountAndSymbol"/>

Nombres et symboles par défaut de disposition du clavier.

Windows touch keyboard for currency

  • Inclut les touches de gauche/droite de la page pour afficher d’autres symboles
  • Vérification orthographique : activé par défaut, peut être désactivé
  • Correction automatique : activée par défaut, peut être désactivée
  • Mise en majuscule automatique : toujours désactivée
  • Accélérateur de saisie : activée par défaut, peut être désactivée

Url

<TextBox InputScope="Url"/>

Windows touch keyboard for URLs

  • Inclut les clés .com et go key (Go). Appui prolongé sur la touche .com pour afficher des options supplémentaires (.org, .net et suffixes spécifiques à la région)
  • Inclut également les clés :, - et /
  • Vérification orthographique : désactivé par défaut, peut être activé
  • Correction automatique : désactivée par défaut, peut être activée
  • Mise en majuscule automatique : désactivée par défaut, peut être activée
  • Accélérateur de saisie : désactivée par défaut, peut être activée

EmailSmtpAddress

<TextBox InputScope="EmailSmtpAddress"/>

Windows touch keyboard for email addresses

  • Inclut les @ clés .com et .com . Appui prolongé sur la touche .com pour afficher des options supplémentaires (.org, .net et suffixes spécifiques à la région)
  • Inclut les clés _ et -
  • Vérification orthographique : désactivé par défaut, peut être activé
  • Correction automatique : désactivée par défaut, peut être activée
  • Mise en majuscule automatique : désactivée par défaut, peut être activée
  • Accélérateur de saisie : désactivée par défaut, peut être activée

Number

<TextBox InputScope="Number"/>

Windows touch keyboard for numbers

  • Vérification orthographique : activé par défaut, peut être désactivé
  • Correction automatique : activée par défaut, peut être désactivée
  • Mise en majuscule automatique : toujours désactivée
  • Accélérateur de saisie : activée par défaut, peut être désactivée

TelephoneNumber

<TextBox InputScope="TelephoneNumber"/>

Windows touch keyboard for telephone numbers

  • Vérification orthographique : activé par défaut, peut être désactivé
  • Correction automatique : activée par défaut, peut être désactivée
  • Mise en majuscule automatique : toujours désactivée
  • Accélérateur de saisie : activée par défaut, peut être désactivée

<TextBox InputScope="Search"/>

Windows touch keyboard for search

  • Inclut la clé de recherche au lieu de la clé Entrée
  • Vérification orthographique : activé par défaut, peut être désactivé
  • Correction automatique : activée par défaut, peut être désactivée
  • Mise en majuscule automatique : toujours désactivée
  • Accélérateur de saisie : activée par défaut, peut être désactivée

SearchIncremental

<TextBox InputScope="SearchIncremental"/>

Windows touch keyboard for incremental search

  • Même disposition que par défaut
  • Vérification orthographique : désactivé par défaut, peut être activé
  • Correction automatique : toujours désactivé
  • Mise en majuscule automatique : toujours désactivée
  • Prédiction de texte : toujours désactivé

Formule

<TextBox InputScope="Formula"/>

Windows touch keyboard for formula

  • Inclut la = clé
  • Inclut également les clés %, $ et +
  • Vérification orthographique : activé par défaut, peut être désactivé
  • Correction automatique : activée par défaut, peut être désactivée
  • Mise en majuscule automatique : toujours désactivée
  • Accélérateur de saisie : activée par défaut, peut être désactivée

Conversation instantanée

<TextBox InputScope="Chat"/>

Default Windows touch keyboard

  • Même disposition que par défaut
  • Vérification orthographique : activé par défaut, peut être désactivé
  • Correction automatique : activée par défaut, peut être désactivée
  • Mise en majuscule automatique : activée par défaut, peut être désactivée
  • Accélérateur de saisie : activée par défaut, peut être désactivée

NameOrPhoneNumber

<TextBox InputScope="NameOrPhoneNumber"/>

Default Windows touch keyboard

  • Même disposition que par défaut
  • Vérification orthographique : désactivé par défaut, peut être activé
  • Correction automatique : désactivée par défaut, peut être activée
  • Mise en majuscule automatique : désactivée par défaut, peut être activée (la première lettre de chaque mot est majuscule)
  • Accélérateur de saisie : désactivée par défaut, peut être activée