Alles weitere sind Standardeinstellungen und die verwendete ValidationRule ist ExceptionValidationRule. Doch wenn die TextBox leer ist, wird eine InvalidCastException geworfen und als Fehlermeldung angezeigt.
Wie bringe ich die Bindung dazu, eine leere Eingabe als null zu übertragen? Geht das ohne eigenen Konverter und ohne eigene ValidationRule?
PS: Es gibt zu dem Thema Binding bereits viele Hinweise in CodeKicker (ihr müsst jetzt nicht danach suchen ;-)), aber leider keine, die meine Frage so beantwortet, dass ich damit was anfangen kann.
Die Fehlermeldung lautet "Der Wert "" konnte nicht konvertiert werden". Das heißt, dass bei einer leeren TextBox immer eine leere Zeichenkette geliefert wird. Unabhängig davon, was als TargetNullValue angegeben wird.
Z.B. TargetNullValue=(Keins) zeigt "(Keins)" in der TextBox an, solange die TextBox nicht bearbeitet wurde. Es wird aber immer eine leere Zeichenkette in die Property übertragen, wenn die TextBox leer ist. Und die Kann natürlich nicht in DateTime? konvertiert werden.
Die Fehlermeldung lautet "Der Wert "" konnte nicht konvertiert werden". Das heißt, dass bei einer leeren TextBox immer eine leere Zeichenkette geliefert wird. Unabhängig davon, was als TargetNullValue angegeben wird.
Z.B. TargetNullValue=(Keins) zeigt "(Keins)" in der TextBox an, solange die TextBox nicht bearbeitet wurde. Es wird aber immer eine leere Zeichenkette in die Property übertragen, wenn die TextBox leer ist. Und die Kann natürlich nicht in DateTime? konvertiert werden.