2009-02-05 10 views
5

Estoy usando el control Calendario de la herramienta WPF para permitir a los usuarios seleccionar una fecha. Si aún no se ha seleccionado la fecha, la propiedad a la que está vinculado el SelectedDate es Null. Esto hace que el calendario sea predeterminado el 1 de enero de 0 AD. Me gustaría hacer algo como¿Cómo configuro TargetNullValue en una fecha?

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

Pero tanto "Hoy" como "Ahora" arrojan errores de enlace. ¿Puedo usar TargetNullValue para establecer la fecha predeterminada en Hoy o Ahora?

Respuesta

12

Prueba esto:

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

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

Gracias, fue sin duda teniendo una congelación de cerebro allí. Para otros que lo encuentren, debe importar mscorlib, p. xmlns: sys = "clr-namespace: System; assembly = mscorlib". Entonces, el enlace es SelectedDate = "{Binding UserPickedDate, TargetNullValue = {x: Static sys: DateTime.Today}, Mode = TwoWay}". –

+0

Establecer TargetNullValue en Today en el control Calendar tiene la desafortunada consecuencia de que cada vez que selecciona Today después de que la propiedad enlazada se establece en Null. Por esta razón, mi código final establece TargetNullValue en Ahora que no tiene este problema. –

+0

Esto era lo que estaba buscando. Mi selector de fecha estaba recordando el último valor después de vincularlo a un nuevo objeto que aún no tenía la fecha establecida. – Aligned

Cuestiones relacionadas