Laden...

Min Max ValidationRule

2 Antworten
1,345 Aufrufe
Letzter Beitrag: vor 8 Jahren
Min Max ValidationRule

Hallo,

ich möchte eine Validation Rule entwickeln und habe dabei dieses Bsp ( How to: Implement Binding Validation ) bearbeitet soweit ist auch alles klar. Ich möchte nun die Min und Max Values auch dynamisch via Databinding setzen. Leider funktioniert das nicht so einfach. Hat eine ein Beispiel für mich, wo genau das erklärt wird 😃

thx

Für's DataBinding brauchst Du eigentlich ein DependencyObject, da es DependencyProperties, sprich Binding, unterstützt.
Die ValidationRule ist allerdings kein DependencyObjeckt, da kommst Du also nur über Umwege weiter.

Ich persönlich löse das lieber über das INotifyDataErrorInfo-Interface.
Das hat eigentlich alle möglichen Dinge, die Du brauchst um über die View Validierung zur Verfügung zu machen.

Es gibt auch noch IDataErrorInfo und IValidatableObject.

So kannst Du die Validierung vom ViewModel aus steuern. Mir persönlich gefüllt das sehr gut, da sich die Validierung bei mir Fall-Spezifisch stark ändern kann. Das möchte ich dann unbedingt im ViewModel haben.
Ich hab dafür eine ValidableViewModelBase. Die kann meine Properties validieren und informiert die View über entsprechende Fehler.

PS:
Ein Umweg:
WPF ValidationRule with dependency property
Du nimmst also ein Objekt, das eine ValidationRule braucht. Dort kannst Du das DataBinding dann realisieren.
Das ist meiner Meinung nach aber ein Umweg, der nicht sonderlich notwendig ist, besonders da sich das auch gut im ViewModel machen lässt.

NuGet Packages im Code auslesen
lock Alternative für async/await

Beim CleanCode zählen nicht die Regeln, sondern dass wir uns mit diesen Regeln befassen, selbst wenn wir sie nicht befolgen - hoffentlich nach reiflichen Überlegungen.