Je souhaite valider l'entrée de l'utilisateur afin de garantir qu'il s'agit d'entiers. Comment puis-je le faire? J'ai pensé utiliser IDataErrorInfo
qui semble être la "bonne" manière de faire la validation dans WPF. J'ai donc essayé de l'implémenter, dans mon ViewModel.Autoriser uniquement les entrées numériques dans WPF Zone de texte
Mais la chose est que ma zone de texte est liée à un champ entier, et il n'y a pas besoin de valider si int
est un int
. J'ai remarqué que WPF ajoute automatiquement une bordure rouge autour de la zone de texte pour informer l'utilisateur de l'erreur. La propriété sous-jacente ne passe pas à une valeur non valide. Mais je voudrais en informer l'utilisateur. Comment puis-je le faire?
cela ne gèrera pas les espaces. comment puis-je gérer dem? –
les rogner plus tard? –
IsTextNumeric renvoie true pour les textes non numériques. Une solution plus lisible serait de changer l'expression rationnelle en [0-9] et de définir e.Handled =! IsTextNumeric, de sorte que l'événement est barboté lorsque le texte est numérique. Cela ou changer le nom de la méthode à IsTextNotNumeric :) –