IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Presentation Foundation Discussion :

Binding IValueConverter et CultureInfo


Sujet :

Windows Presentation Foundation

  1. #1
    Membre confirmé
    Avatar de malbaladejo
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2002
    Messages : 379
    Points : 527
    Points
    527
    Par défaut Binding IValueConverter et CultureInfo
    Bonjour,

    J'utilise une class implémentant IValueConverter qui permet de formatter une valeur :
    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;
            }
        }
    J'utilise cette class ceci dans le code XAML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <TextBlock Text="{Binding Date,Converter={StaticResource FormattingConverter}}" 
    x:Name="test" />
    Tout se passe bien sauf que dans la méthode Convert la culture est toujours en-US.
    Pourtant dans le constructeur de ma fenètre je précise :
    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");
    2 questions :
    1) d'ou vient la culture de la méthode convert ?
    2) comment la modifier ?

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Regarde ici, c'est la même chose: http://forums.silverlight.net/forums...80/211438.aspx

  3. #3
    Membre confirmé
    Avatar de malbaladejo
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2002
    Messages : 379
    Points : 527
    Points
    527
    Par défaut
    Merci pour le lien.

    Ca fonctionne en mettant ceci dans le constructeur de ma fenêtre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-FR");
    Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr-FR");
    this.Language = XmlLanguage.GetLanguage(Thread.CurrentThread.CurrentUICulture.Name);
    Mais cela ne me dit pas pourquoi la culture en paramête de Convert est diffénente de Thread.CurrentThread.CurrentUICulture.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. traquer des requêtes non bindées
    Par aline dans le forum Oracle
    Réponses: 3
    Dernier message: 14/03/2005, 11h56
  2. Récupérer l'adresse de bind d'un socket
    Par gloode dans le forum Réseau
    Réponses: 4
    Dernier message: 04/02/2005, 10h56
  3. Bind ou pas Bind?
    Par jonzuzu dans le forum MFC
    Réponses: 4
    Dernier message: 19/03/2004, 10h00
  4. []Erreur sur second emploi collection binding
    Par jacma dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 08/03/2004, 18h02
  5. Bind - sous-domaine
    Par _Gabriel_ dans le forum Réseau
    Réponses: 4
    Dernier message: 07/03/2004, 11h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo