Das Standardverhalten in TextBoxen, wenn eine Eingabezeichenfolge nicht gültig ist, besteht darin, ein rotes Quadrat anzuzeigen (z. B. führt der Benutzer einen Buchstaben in numerische TextBox ein). Dies geschieht, wenn TextBox den Fokus verliert.Abbrechen der TextBox-Eingabe bei Validierungsfehlern
Ich möchte dieses Verhalten implementieren:
- der Textbox den Fokus verliert.
- TextBox interne Validierung (Datum, numerische, etc).
- Wenn die eingegebene Benutzerzeichenfolge nicht gültig ist, wird der alte Wert wiederhergestellt und TextBox zeigt keinen Fehler an.
Das ist für Validierungen in Ansichtsmodell gut funktioniert. Das Problem besteht hier, wenn der Benutzer eine ungültige Datumszeichenfolge eingibt und die Eigenschaft in ViewModel DateTime ist. TextBox führt die interne Validierung selbst durch und zeigt den Fehler an; textbox führt die Bindung an viewmodel nicht durch, da die Zeichenfolge nicht in DateTime konvertiert werden kann und die falsche Datumszeichenfolge darin verbleibt. – Poeta