2016-08-23 2 views
1

Ich fand tatsächlich this, aber wie das OP sagt, es ist eine hacky Lösung, und wie die Stimmen sagen, keine schöne. Mein Programm hat ein Fenster.WPF DatePicker Datum nicht mit Kultur wechseln

Ich habe eine Benutzeroberfläche mit 2 möglichen Kulturen, de-DE und en-US, und eine Schaltfläche, die die Sprache wechselt.

Jeder Text ändert sich, wenn ich diese Taste drücken, wird nur der Text in das Kalender texbox nicht, bis ich auf die Schaltfläche Kalenderwerkzeug klicken, dann ändert sich die angezeigte Datum in das richtige Format (und öffnet das Popup Datepicker).

Wie kann ich das angezeigte Datum mit der Sprache wechseln? Gibt es nicht einige WPF-Optionen, die ich verwenden kann, um das angezeigte Datum zu aktualisieren?

Nur Binding es hat SelectedDate="{Binding Path=FileDate, Mode=TwoWay}, und es funktioniert gut so weit.

Ich habe versucht, die folgenden Aktionen auf dem Schalter der Sprache, aber nicht den Text Änderung vornehmen:

Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo((string)getSetting("Language")); 
Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo((string)getSetting("Language")); 
FileDate = FileDate; //This one Notifies about the propertychange, so I hoped it would refresh the text. 

Antwort

0

Ok, damit ich eine andere Idee bekam, und es funktioniert super, fühlt sich nicht wie ein Hack, und ist einfach zu tun:

Wenn Sie die Sprache wechseln, neben Einstellung der Current und CurrentUICulture, gehe ich

FileDate = DateTime.Now; 

That Offensichtlich lässt der DatePicker erkennen, dass sich die Kultur verändert hat.