Frage

Silverlight-Validierung mit InotifyDataErrorinfo war mit seinen slick-Fehlerzeigern großartig, bis ich mit dem Versuch begann, es auf Textfeldern zu verwenden, die an die Eigenschaften von Nicht-String-Datentypen gebunden sind.Mein Plan bestand darin, die Setter der Eigenschaften zu verwenden, um die Validierungslogik durchzuführen, die Fehler hinzuzufügen und zu entfernen, da dies erforderlich ist.Es funktioniert gut auf Textfeldern, die Zeichenfolgen, aber wenn Sie ein Textfeld an ein int gebunden haben und Sie eine Zeichenfolge eingeben, wird der Setter nicht einmal angerufen (wo ich einen Fehler hinzufügen könnte, der offensichtlich nicht numerische Werte sindungültig).Was ist die vorgeschlagene Vorgehensweise von hier aus?Ich habe in ValueConverters gesucht, aber sie sind zu weit von der InotifyDataErrorinfo-Logik in meiner Klasse getrennt, die validiert wird.

hypothetisches Beispiel:

generasacodicetagpre.

War es hilfreich?

Lösung

Ich schlage vor, Sie binden den Wert des Textfelds auf einen String-Wert sowieso und tun Sie dort die Validierung. Bei einer erfolgreichen Validierung übergeben Sie den Wert auf einer anderen Eigenschaft mit dem Datentyp, nach dem Sie eigentlich suchen (z. B. int).Führen Sie in jedem anderen Fall die Validierung aus. Nur eine Problemumgehung ... arbeitet aber für mich.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top