2010-10-07 27 views
39

WPF DatePicker mostra sempre 'Mostra calendario' per impostazione predefinita. Voglio che mostri la data corrente/odierna. Come lo faccio. Ho provato a fare qualcosa di simile al di sotto nel costruttore, ma non funzionerà,WPF DatePicker predefinito alla data odierna

datePicker.SelectedDate = DateTime.Now.Date; 

o

datePicker.DisplayDate = DateTime.Now.Date; 

risposta

101

riprova con questo ....

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

aggiungere questo riferimento

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

Come si farebbe se devo impostare la data per domani (o qualsiasi altro giorno che deve essere calcolato dinamicamente)? Voglio usare XAML per questo. –

+2

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

+0

Nota che il prefisso 'app' in questo caso è lo spazio dei nomi della classe di supporto, per esempio xmlns: app = "CLR-namespace: AppName.WPFHelpers" dove AppName.WPFHelpers namespace {public class DateTimeHelper static ..... – Rob

1

paio di opzioni ...

è possibile copiare l'intero stile per il DatePicker controlla e modifica lo XAML e lo usa come risorsa predefinita rendendo TargetType DatePicker che lo obbligherà a utilizzare nell'applicazione.

Si potrebbe anche modificare lo stile locale e posizionare il proprio TextBox nello stile e nascondere la DatePickerTextBox e quindi impostare la rilegatura in modo appropriato.

Una conversazione approfondita here con una spiegazione abbastanza buona di ericf nella parte superiore.

16

Il sotto funziona per me. (DpDate è il mio controllo DatePicker)

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

Se è necessario impostare la data a livello di programmazione (o nel codice sottostante) si potrebbe provare ...

datePicker.Text = DateTime.Now.Date.ToString(); 
Problemi correlati