Validation dans la zone de texte dans WPF
Je suis actuellement en train de travailler sur une application WPF où je voudrais avoir un TextBox
qui ne peut avoir les entrées numériques. Je sais que je peux valider le contenu de celui-ci quand j'ai perdu la concentration et de bloquer le contenu numérique, mais dans d'autres application Windows Form, nous utilisons totalement bloquer toutes les entrées sauf numérique d'être écrit. De Plus, nous utilisons pour placer ce code dans une dll de référence dans de nombreux endroits.
Voici le code en 2008 pas l'utilisation de WPF:
Public Shared Sub BloquerInt(ByRef e As System.Windows.Forms.KeyPressEventArgs, ByRef oTxt As Windows.Forms.TextBox, ByVal intlongueur As Integer)
Dim intLongueurSelect As Integer = oTxt.SelectionLength
Dim intPosCurseur As Integer = oTxt.SelectionStart
Dim strValeurTxtBox As String = oTxt.Text.Substring(0, intPosCurseur) & oTxt.Text.Substring(intPosCurseur + intLongueurSelect, oTxt.Text.Length - intPosCurseur - intLongueurSelect)
If IsNumeric(e.KeyChar) OrElse _
Microsoft.VisualBasic.Asc(e.KeyChar) = System.Windows.Forms.Keys.Back Then
If Microsoft.VisualBasic.AscW(e.KeyChar) = System.Windows.Forms.Keys.Back Then
e.Handled = False
ElseIf strValeurTxtBox.Length < intlongueur Then
e.Handled = False
Else
e.Handled = True
End If
Else
e.Handled = True
End If
Est-il de manière équivalente dans WPF? Je ne me dérangerait pas si c'est dans un style, mais je suis nouveau sur WPF afin de style sont un peu obscures à ce qu'ils peuvent ou ne peuvent pas faire.
source d'informationauteur David Brunelle | 2009-08-28
Vous devez vous connecter pour publier un commentaire.
Vous pouvez limiter la saisie de nombres que l'utilisation d'une propriété attachée sur la zone de texte. Définir la propriété attachée une fois (même dans une dll) et l'utiliser sur n'importe quelle zone de texte. Ici est la propriété attachée:
Ici est de savoir comment l'utiliser (remplacer "contrôles" avec votre propre espace de noms):
Vous pouvez mettre une validation de votre liaison
Regardez cet exemple (de mon programme), vous mettez la validation de l'intérieur de la reliure de ce genre. Avec UpdateSourceTrigger vous pouvez changer quand vous liant sera mis à jour (manque de concentration, à chaque changement...)
Bien, la validation est une classe, je vais vous mettre un exemple:
En bref, faire le travail à l'intérieur de la méthode et de retour d'un nouveau résultat validationresult. Le premier paramètre est une valeur booléenne, true si la validation est bon, false sinon. Le deuxième paramètre est seulement un message pour plus d'informations.
Je pense que c'est la base de la zone de texte de validation.
Espérons que cette aide.
EDIT: Désolé, je ne sais pas VB.NET mais je pense que le code C# est assez simple.