Ich habe ein Textfeld in meiner WPF-App. Ich habe ein ControlTemplate für Validierungsfehler wie folgt definiert:
%Vor%Meine TextBox ist wie folgt:
%Vor%Wenn nun meine TextBox ValidationRule hinzugefügt wird und ich sie dort validiere, wird die Fehlervorlage korrekt angewendet. Aber ich kann das wegen eines anderen Problems nicht tun.
Also muss ich den Inhalt von TextBox in PreviewLostKeyboardFocus validieren. Ich validiere die TextBox. Jetzt möchte ich die Fehlervorlage für die TextBox im Code zurückstellen, aber ich kann es nicht machen !!
Ich habe das versucht, aber es funktioniert nicht wie geplant ::
%Vor% Frage 1: Ich möchte wissen, wie die Fehlervorlage zu TextBox
Frage 2: Ich möchte wissen, wie ich die Fehlermeldung der Kontrollschablone vom Code einstelle. Wie zum Beispiel möchte ich die Standardfehlermeldung "Ungültige Eingabe:" auf "Ungültige Eingabe: Bitte korrekte Eingabe eingeben" ändern.
Ich möchte die oben genannten Dinge im Code hinter nur tun !!!!
EDIT 1:
Das Problem ist, wie setze ich Code hinter Validation.HasError als wahr, weil ich keinen Validator verwende. (oder was soll ich aus einem Code setzen, hinter dem ValidationTemplate angewendet wird ??))
EDIT 2:
Ich mache XML-Binding, also kann ich IDataErrorInfo nicht implementieren !! Ich möchte das nur vom Code her erreichen !! Gibt es eine Möglichkeit, Validation.HasError vom Code hinterher zu setzen?
Um "Validation.HasError" im Code festzulegen, können Sie die Validation.MarkInvalid-Methode verwenden
%Vor%So heben Sie den Wert auf, den Sie verwenden
%Vor%Für Ihre erste Frage. Sie können die ErrorTemplate von Code hinter wie.
setzen %Vor%
Bearbeiten:
Für deine zweite Frage. Bitte beachten Sie das folgende Beispiel.
sites.google.com/site/html5tutorials/ValidationErrorText.zip
Tags und Links wpf controltemplate validation textbox code-behind