2010-10-07 12 views
39

WPF DatePicker zeigt standardmäßig 'Kalender anzeigen' an. Ich will, dass es das aktuelle/heutige Datum zeigt. Wie mache ich das. Ich habe versucht, so etwas wie die unten in den Konstruktor zu tun, aber es wird nicht funktionieren,WPF DatePicker wird standardmäßig auf das heutige Datum gesetzt

datePicker.SelectedDate = DateTime.Now.Date; 

oder

datePicker.DisplayDate = DateTime.Now.Date; 

Antwort

101

bitte mit diesem versuchen ....

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

dieser Referenz

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

Wie würde das gemacht, wenn ich das Datum für morgen (oder jeden anderen Tag, der dynamisch berechnet werden soll) einstellen soll? Ich möchte XAML dafür verwenden. –

+2

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

+0

Beachten Sie, dass das Präfix "app" in diesem Fall der Namespace der Hilfsklasse ist, z. xmlns: app = "clr-namespace: AppName.WPFHelpers" wo Namespace AppName.WPFHelpers {öffentliche statische Klasse DateTimeHelper ..... – Rob

1

paar Optionen ...

Sie können das Design für die Kopie DatePicker steuert und bearbeitet das XAML und verwendet dieses als Standardressource, wodurch der TargetType DatePicker dazu führt, dass er in der gesamten Anwendung verwendet wird.

Sie können den Stil auch lokal bearbeiten und Ihre eigene TextBox im Stil platzieren und die DatePickerTextBox ausblenden und dann die Bindung entsprechend einrichten.

Einige eingehende Konversation here mit einer ziemlich guten Erklärung von Ericf an der Spitze.

16

hinzufügen Die unten funktioniert für mich. (DpDate ist mein Datepicker Kontrolle)

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

Wenn Sie das Datum programmgesteuert einstellen müssen (oder im Code dahinter), können Sie es versuchen ...

datePicker.Text = DateTime.Now.Date.ToString(); 
Verwandte Themen