Bonjour,

Je réalise une application en Silverlight qui devra se piloter exclusivement au clavier.
L'application étant la conversion d'un existant, les raccourcis claviers sont imposés.

L'application prend le focus sur une TextBox.
Si j'appuie sur entrer je valide le texte et passe au champ suivant,
si j'appuie sur la touche ² je passe au champ suivant sans valider.

Pour le moment j'ai mis en place sur l'évènement KeyDown de la textbox:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
private void Fct_KeyDown (object sender, KeyEventArgs e)
{
    if (e.Key == Key.Enter)
      // Valide et passe au suivant
    if (e.Key == Key.Unknown)
    {
        if(e.PlatformKeyCode == 222) // Valeur windows de la touche ²
        {
            //Passe au suivant
         } 
 
 }
}
L'application ne s'exécutera que sur des environnement windows ce qui devrait limiter les conflits du PlatformKeyCode.

Le problème est que lorsque j'appuie sur ² le ² s'affiche dans la TextBox.

Comment faire pour éviter cet affichage ?
D'une manière général comment appliquer des filtres sur une TextBox ?

Question bonus : Peut on annuler les actions du navigateur ? ( Prendre le contrôle sur la touche TAB ou éviter l'affichage de l'aide quand on appuie sur F1)

Merci d'avoir lu,

Valorn