Ich habe Probleme mit der Ausgabe eines DateTime-Wertes. Die aktuelle Kultur meines Computers ist auf de-AT (Österreich) eingestellt.WPF XAML StringFormat DateTime: Ausgabe in falscher Kultur?
den folgenden Code
string s1 = DateTime.Now.ToString("d");
string s2 = string.Format("{0:d}", DateTime.Now);
Ergebnisse in s1 und s2 sowohl den korrekten Wert von "30.06.2009" aufweist.
Aber wenn das gleiche Format in XAML
<TextBlock Text="{Binding Source={x:Static sys:DateTime.Now}, StringFormat=d}"/>
der Ausgang ` "2009.06.30". Es scheint, dass das XAML StringFormat die aktuellen Kultureinstellungen ignoriert. Dies geschieht sowohl unter Vista als auch unter XP.
Ich möchte kein benutzerdefiniertes Format angeben, da die Ausgabe in der bevorzugten Kultureinstellung des Benutzers formatiert werden soll.
Jeder mit dem gleichen Problem? Ist das ein Fehler in WPF?
Ich schwor den ganzen Tag, ich fand dieses Problem in letzter Minute! – GorillaApe
Es gilt als "von Design". Siehe https://connect.microsoft.com/VisualStudio/feedback/details/442569/wpf-binding-uses-the-wrong-current-culture-by-default –
sah das gleiche Verhalten auf Windows Phone 7. Grüße aus Österreich! – hfrmobile