Ho qualche problema con l'output di un valore DateTime. La cultura attuale del mio computer è impostata su de-AT (Austria).WPF XAML StringFormat DateTime: output nella cultura errata?
Il codice seguente
string s1 = DateTime.Now.ToString("d");
string s2 = string.Format("{0:d}", DateTime.Now);
risultati in s1 e s2 entrambe aventi il valore corretto di "30.06.2009".
Ma quando si utilizza lo stesso formato in XAML
<TextBlock Text="{Binding Source={x:Static sys:DateTime.Now}, StringFormat=d}"/>
l'uscita è ` "2009/06/30". Sembra che XAML StringFormat ignori le impostazioni cultura correnti. Questo succede sia su Vista che su XP.
Non voglio specificare un formato personalizzato, perché l'output deve essere formattato nelle impostazioni cultura preferite dell'utente.
Chiunque abbia lo stesso problema? Si tratta di un bug in WPF?
Ho giurato tutto il giorno, ho trovato questo problema all'ultimo minuto! – GorillaApe
È considerato come "design". Vedere https://connect.microsoft.com/VisualStudio/feedback/details/442569/wpf-binding-uses-the-wrong-currentculture-by-default –
ha appena visto lo stesso comportamento su Windows Phone 7. Saluti dall'Austria! – hfrmobile