2009-02-05 12 views
5

J'utilise le contrôle Calendrier de la boîte à outils WPF pour permettre aux utilisateurs de sélectionner une date. Si la date n'est pas encore sélectionnée, la propriété à laquelle SelectedDate est liée est Null. Cela rend le calendrier par défaut vous Janvier 1, 0 AD. Je voudrais faire quelque chose commeComment définir TargetNullValue à une date?

SelectedDate="{Binding UserPickedDate, TargetNullValue=Today, Mode=TwoWay}" 

Mais les deux « Aujourd'hui » et « maintenant » jeter des erreurs de liaison. Puis-je utiliser TargetNullValue pour définir la date par défaut sur Aujourd'hui ou maintenant?

Répondre

12

Essayez ceci:

xmlns:sys="clr-namespace:System;assembly=mscorlib" 
... 

TargetNullValue={x:Static sys:DateTime.Now} 
+3

Merci, j'avais certainement là un gel du cerveau. Pour d'autres personnes trouvant cela, vous devez importer mscorlib, par ex. xmlns: sys = "espace de noms clr: System; assembly = mscorlib". Ensuite, la liaison est SelectedDate = "{Binding UserPickedDate, TargetNullValue = {x: Système statique: DateTime.Today}, Mode = TwoWay}". –

+0

La définition de TargetNullValue à Today dans le contrôle Calendar a malheureusement la conséquence que, chaque fois que vous sélectionnez Today, la propriété bound est définie sur Null. Pour cette raison, mon code définitif TargetNullValue à maintenant, qui n'a pas ce problème. –

+0

C'était ce que je cherchais. Mon sélecteur de date se souvenait de la dernière valeur après l'avoir liée à un nouvel objet dont la date n'avait pas encore été définie. – Aligned

Questions connexes