WPF-Validierungsregeln verwenden und die Schaltfläche "Speichern" deaktivieren
Ich habe eine Seite wo ein paar Textfelder nicht leer sein bevor Sie auf die Schaltfläche Speichern.
<TextBox...
<TextBox.Text>
<Binding Path ="LastName" UpdateSourceTrigger="PropertyChanged">
<Binding.ValidationRules>
<local:StringRequiredValidationRule />
</Binding.ValidationRules>
</Binding>
</TextBox.Text>
Meine Regel funktioniert. Ich habe einen roten Rahmen um meine textbox, bis ich einen Wert eingeben. So, jetzt ich wollen Sie diese Gültigkeitsregel auf meine anderen Textfelder.
Nun, wie kann ich deaktivieren Sie die Speichern-Taste, bis die Seite hat keine Fehler? Ich weiß nicht, was zu überprüfen, um zu sehen, ob es irgendwelche Fehler bei der Validierung.
InformationsquelleAutor der Frage ScottG | 2008-10-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist das komplette sample, was Sie brauchen.
http://codeblitz.wordpress.com/2009/05/08/wpf-validation-made-easy-with-idataerrorinfo/
https://skydrive.live.com/?cid=2c6600f1c1d5e3be&id=2C6600F1C1D5E3BE%21203
InformationsquelleAutor der Antwort Academy of Programmer
Auf die codebehind der Ansicht, Sie könnten wireup die Validierung.ErrorEvent-wie so;
Dann
Dies lässt die Annahme zu, dass Sie benachrichtigt werden, der die Entfernung (das wird nicht passieren, wenn Sie entfernen Sie das störende element, während es ungültig ist).
InformationsquelleAutor der Antwort Christoph
Den Sie verwenden möchten Die Validierung.HasError angefügte Eigenschaft.
Entlang der gleichen Linien Josh Smith hat eine interessante Lektüre auf Die Bindung an (Validierung.Fehler)[0] ohne Erstellen von Debug-Ausgabe.
InformationsquelleAutor der Antwort Todd White
InformationsquelleAutor der Antwort Nihal
Hier ist eine Hilfsmethode, die Spuren der Validierung Fehler auf die Abhängigkeit von Objekten (und alle seine Kinder) und fordert eine Stellvertretung zu Benachrichtigen Sie über die änderung. Es auch tracks, die Beseitigung der Kinder mit der Validierung Fehler.
InformationsquelleAutor der Antwort andrey.tsykunov
dies ist es
Sie müssen überprüfen Sie die Steuerelement-Eigenschaft HasError aus dem code behaind
tun und diesen code in den button speichern klicken Sie auf
InformationsquelleAutor der Antwort Bilal
nur inhert der ViewModel aus dem System.ComponentModel.IDataErrorInfo für die Validierung
und von INotifyPropertyChanged benachrichtigt Taste
machen-Eigenschaft:
in xaml, verbinden Sie ihn mit Schaltfläche
in der IDataErrorInfo überschreibt, Benachrichtigen btutton
InformationsquelleAutor der Antwort Alexander Sirotkin
Ich habe versucht, mehrere Lösungen, die oben genannten; aber keiner von Ihnen arbeitete für mich.
Mein Einfaches Problem
Habe ich eine einfache Eingabe-Fenster, dass eine Anfrage-URI aus der Benutzer, wenn die
TextBox
Wert ist keine gültigeUri
dann dieOkay
button sollte deaktiviert sein.Meine Einfache Lösung
Hier ist was für mich gearbeitet:
InformationsquelleAutor der Antwort Kabuo