Set default-Wert RadDatePicker auf NULL, wenn das Datum nicht eingestellt
Bin ich verbindlich die RadDatePicker zu einem viewModel-dateTime-Eigenschaft. wenn die Eigenschaft den Wert null in der Datenbank bekomme ich 01/01/0001. Wie ich dieses Verhalten ändern zu lassen Sie einfach das Feld "Datum" leer ist..
Beispiel:
In der Datenbank ===> experiation_date : NULL
In der Ansicht(GUI) ===> experation_date : 01/01/0001
Erwartet Result ===> experation_date : {Leer}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Legen Sie die SelectedDate auf null (und nicht DBNull):
und in xaml festgelegt DateTimeWatermarkContent auf die leere Zeichenfolge:
Ist es nicht immer möglich, ändern Sie den Datentyp in DateTime DateTime? als ein DateTime-Objekt könnte in der Tat erforderlich sein. (Ein typisches Szenario ist, wenn das Steuerelement gebunden ist, ein Datenbank-Objekt einen DateTime-Typ, aber Sie beschäftigt sich mit der Erstellung eines neuen Datensatzes in Ihrer Kontrolle, und so wird der Wert immer noch null an dieser Stelle.) In einem solchen Fall ist es möglich, zu schreiben, die einen Wert Konverter als Paulo in der folgenden link: http://www.telerik.com/forums/default-date-value-01-01-001 (Siehe seinen code für die EditDateConverter. Es funktioniert genauso-ist...) ich bin einfügen von code hier für die Referenz-und im Fall, dass der link nicht mehr arbeiten in der Zukunft:
Nutzung, die eine Bindung für Ihre RadDatePicker, fügen Sie einfach den Konverter als eine Ressource in Ihrem XAML, und fügen Sie den Konverter, um Ihre Bindung.
In der XAML-namespace-Deklaration müssen Sie den namespace der Wandler, zum Beispiel:
Und dann in der Ressourcen-Abschnitt Ihrer XAML-Sie hätte:
Dann können Sie einfach fügen Sie die folgende Zeile zu Ihrer Bindung an die Steuerung:
Wenn jetzt ein null-Datum der Kontrolle-Anzeige des Wasserzeichen (z.B. "Datum Eingeben"), anstatt 01/01/0001.
Wenn Sie binden nicht nullable datetime-variable, die ich.e (DateTime) zu kontrollieren, dann verwenden Standard-01/01/001 Datum statt Leer....
Also, wenn Sie möchten, dass der Standardwert als Leer ist, dann einfach ändern Sie den Datentyp für eine variable, die gebunden ist, die Kontrolle zu (DateTime?).....
DateTime ===> DateTime?
Funktioniert es einwandfrei...
Danke.!!!