2010-10-07 174 views
39

WPF DatePicker siempre muestra 'Mostrar calendario' de forma predeterminada. Quiero que muestre la fecha actual/actual. Cómo puedo hacer eso. He intentado hacer algo como el siguiente en el constructor pero no va a trabajar,WPF DatePicker predeterminado a la fecha de hoy

datePicker.SelectedDate = DateTime.Now.Date; 

o

datePicker.DisplayDate = DateTime.Now.Date; 

Respuesta

101

favor tratar con esto ....

<my:DatePicker SelectedDate="{x:Static sys:DateTime.Now}"/> 

añadir esta referencia

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

¿Cómo se haría eso si tuviera que establecer la fecha para mañana (o cualquier otro día que se calcule dinámicamente)? Quiero usar XAML para eso. –

+2

Consulte: http://stackoverflow.com/questions/16463217/setting-a-static-datetime-in-wpf-xaml – Rob

+0

Tenga en cuenta que el prefijo 'app' en este caso es el espacio de nombres de la clase auxiliar, p. xmlns: app = "clr-namespace: AppName.WPFHelpers" donde namespace AppName.WPFHelpers {public static class DateTimeHelper ..... – Rob

1

par de opciones ...

podría copiar todo el estilo para el DatePicker controla y edita el XAML y lo utiliza como el recurso predeterminado, lo que hace que TargetType DatePicker forzará su uso en toda la aplicación.

También podría editar el estilo localmente y colocar su propio TextBox en el estilo y ocultar el DatePickerTextBox y luego configurar el enlace apropiadamente.

Conversación en profundidad here con una buena explicación de ericf en la parte superior.

16

El siguiente funciona para mí. (DpDate es mi control DatePicker)

public MainWindow() 
{ 
    InitializeComponent(); 
    dpDate.SelectedDate = DateTime.Today;    
} 
0

Si necesita establecer la fecha mediante programación (o en el código subyacente), puede intentar ...

datePicker.Text = DateTime.Now.Date.ToString(); 
Cuestiones relacionadas