Mit WPF Validierungsregeln und deaktivieren von 'Speichern' - button
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 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
Leider ist die referenzierte Beispiel beschreibt nicht die Aktivierung/Deaktivierung der Schaltfläche detailliert.
Wäre toll, wenn die wichtigsten Teile hier in die Antwort. Wenn die genannten Seiten gehen Weg, diese Antwort bekommt nutzlos.
Die Frage ist, wie zu deaktivieren, wenn über ValidationRules. Aber die referenzierten Beispiele über die Verwendung von IDataErrorInfo - andere Validierung Weise.
Schauen Sie dieses video, youtube.com/watch?v=OOHDie8BdGI, es zeigt ein Beispiel für die Verwendung von IDataErrorInfo zu deaktivieren/aktivieren einer Schaltfläche.
InformationsquelleAutor Developer
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).
vielen Dank genau das was ich vermisst +1 .
Wer nutzt den code dahinter nicht mehr. Wie tun Sie dies in einem view-Modell?
Dank fein gearbeitet. +1
Benachrichtigt werden Fehler, die ich hatte, um
NotifyOnValidationError="True"
auf Elemente, die erforderlich Validierung :<Binding Path ="LastName" UpdateSourceTrigger="PropertyChanged" NotifyOnValidationError="True">
(default-Wert istfalse
)InformationsquelleAutor 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.
Sie haben keine Antwort auf "wie kann ich deaktivieren Sie die Speichern-Taste". Bitte geben Sie den code ein. Das Beispiel, das Sie genannt "die Bindung an (Validierung.Fehler)[0] ohne Erstellen von Debug-Speien." Nicht jede code zum deaktivieren der Schaltfläche "Speichern".
Kann immer noch nicht herausfinden, eine gute Antwort auf diese
InformationsquelleAutor Todd White
InformationsquelleAutor 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 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 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 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 Kabuo