Bonjour,
J'utilise une class implémentant IValueConverter qui permet de formatter une valeur :
J'utilise cette class ceci dans le code XAML :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 [ValueConversion(typeof(object), typeof(string))] public class FormattingConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { string formatString = parameter as string; if (formatString != null) { return string.Format(culture, formatString, value); } else { return value.ToString(); } } public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { // we don't intend this to ever be called return null; } }
Tout se passe bien sauf que dans la méthode Convert la culture est toujours en-US.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <TextBlock Text="{Binding Date,Converter={StaticResource FormattingConverter}}" x:Name="test" />
Pourtant dans le constructeur de ma fenètre je précise :
2 questions :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-FR"); Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr-FR");
1) d'ou vient la culture de la méthode convert ?
2) comment la modifier ?
Partager