J'ai des problèmes avec la sortie d'une valeur DateTime. La culture actuelle de mon ordinateur est définie sur De-AT (Autriche).WPF XAML StringFormat DateTime: Sortie dans une culture incorrecte?
Le code suivant
string s1 = DateTime.Now.ToString("d");
string s2 = string.Format("{0:d}", DateTime.Now);
résultats dans s1 et s2 les deux ayant la valeur correcte de "30/06/2009".
Mais lorsque vous utilisez le même format XAML
<TextBlock Text="{Binding Source={x:Static sys:DateTime.Now}, StringFormat=d}"/>
la sortie est ` "6/30/2009". Il semble que XAML StringFormat ignore les paramètres de culture actuels. Cela se produit à la fois sur Vista et XP.
Je ne souhaite pas spécifier un format personnalisé, car la sortie doit être formatée dans le paramètre de culture préféré de l'utilisateur.
Quelqu'un avec le même problème? Est-ce un bug dans WPF?
J'ai juré toute la journée, j'ai trouvé ce problème à la dernière minute! – GorillaApe
Il est considéré comme "par conception". Voir https://connect.microsoft.com/VisualStudio/feedback/details/442569/wpf-binding-uses-the-wrong-currentculture-by-default –
vient de voir le même comportement sur Windows Phone 7. Salutations de l'Autriche! – hfrmobile