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

C# Discussion :

[WPF] Faire un Binding du fichier Ressource


Sujet :

C#

  1. #1
    Membre averti
    Avatar de UNi[FR]
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2002
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Juin 2002
    Messages : 340
    Points : 448
    Points
    448
    Par défaut [WPF] Faire un Binding du fichier Ressource
    Bonjour,

    j'aurais voulu savoir comment faire un Binding qui aille chercher une valeur dans le Fichier ressource de l'appli en XAML ??

    Merci d'avance pour votre aide
    Gnarf !
    Mon C.V.
    Culture agile && Software Craftsmanship && (.NET {VS 2019 && WPF} || PHP {(PHPStorm || VS Code) && (Docker)})

    Pensez au TAG

  2. #2
    Membre averti

    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    214
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 214
    Points : 341
    Points
    341
    Par défaut
    Personnellement, je fais comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <Button Content="{x:Static properties:Resources.ButtonText}"/>
    www.japf.fr mon blog sur WPF et .Net

  3. #3
    Membre averti
    Avatar de UNi[FR]
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2002
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Juin 2002
    Messages : 340
    Points : 448
    Points
    448
    Par défaut
    Ca ne fonctionne pas chez moi ...

    faut-il déclarer quelques chose au niveau de XAML pour utuliser la fichier ressource du projet ??
    Gnarf !
    Mon C.V.
    Culture agile && Software Craftsmanship && (.NET {VS 2019 && WPF} || PHP {(PHPStorm || VS Code) && (Docker)})

    Pensez au TAG

  4. #4
    Membre averti

    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    214
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 214
    Points : 341
    Points
    341
    Par défaut
    Euh, je suis pas la personne qui a écrit directement le code (c'est un ami à moi), mais j'ai également le code suivant dans la déclaration de la fenêtre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    xmlns:properties="clr-namespace:Alambic.Properties"
    www.japf.fr mon blog sur WPF et .Net

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    En remplaçant "Alambic" par le namespace de ton projet bien sûr...

    Je ne connaissais pas cette solution, c'est assez pratique... mais le problème c'est que ça ne marche pas avec des ressources image. J'ai trouvé une astuce pour résoudre ce problème, voir ce post. Ma solution a une limitation un peu gênante, mais le post de Jérem22 me donne une idée pour l'améliorer
    Si j'arrive à faire ce que je veux, je posterai la nouvelle version

  6. #6
    Membre averti
    Avatar de UNi[FR]
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2002
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Juin 2002
    Messages : 340
    Points : 448
    Points
    448
    Par défaut
    Merci beaucoup pour l'info
    Gnarf !
    Mon C.V.
    Culture agile && Software Craftsmanship && (.NET {VS 2019 && WPF} || PHP {(PHPStorm || VS Code) && (Docker)})

    Pensez au TAG

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 101
    Points : 86
    Points
    86
    Par défaut
    Je suis l'ami en question qui a pondu ce code
    Il nous sert pour la localisation de notre application. En fait, toutes les chaînes de caractères sont externalisées dans un fichier resources, et on va chercher celle qui nous intéresse à partir de sa clef...

  8. #8
    Membre averti

    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    214
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 214
    Points : 341
    Points
    341
    Par défaut
    Et tant qu'on parle des fichier ressources, quelqu'un aurait-il une piste pour binder un combobox sur les langues disponibles dans l'application ?

    La question n'est pas le binding lui même, mais plutôt de savoir où on peut avoir accès aux langues actuellement disponible pour notre application.

    Jérem
    www.japf.fr mon blog sur WPF et .Net

  9. #9
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Si ca intéresse quelqu'un, j'ai modifié mon truc pour utiliser en XAML une image des ressources de l'appli.
    http://www.developpez.net/forums/sho...15#post2507015

    savoir où on peut avoir accès aux langues actuellement disponible pour notre application
    Ca je l'ai déjà fait, je tâcherai de te retrouver ça...

  10. #10
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    savoir où on peut avoir accès aux langues actuellement disponible pour notre application
    Il faut regarder avec le ResourceManager pour quelles cultures un ResourceSet est disponible :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    ResourceManager rman = new ResourceManager("WindowsApplication1.Properties.Resources", typeof(Properties.Resources).Assembly);
    foreach (CultureInfo ci in CultureInfo.GetCultures(CultureTypes.AllCultures))
    {
        ResourceSet rset = rman.GetResourceSet(ci, true, false);
        // createIfNotExists = true, pour charger le ResourceSet en mémoire si ce n'est pas fait
        // tryParents = false, pour ne pas chercher le ResourceSet de la culture parente (par exemple chercher "fr" si "fr-FR" n'est pas trouvé)
        if (rset != null)
        {
            // Un ResourceSet est défini pour cette culture !
            Console.WriteLine(ci.NativeName);
        }
    }

  11. #11
    Membre averti
    Avatar de UNi[FR]
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2002
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Juin 2002
    Messages : 340
    Points : 448
    Points
    448
    Par défaut
    Vraiment nikel, merci beaucoup à toi Tomlev
    Gnarf !
    Mon C.V.
    Culture agile && Software Craftsmanship && (.NET {VS 2019 && WPF} || PHP {(PHPStorm || VS Code) && (Docker)})

    Pensez au TAG

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 101
    Points : 86
    Points
    86
    Par défaut
    Ca m'a bien aidé aussi, merci beaucoup !

  13. #13
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Je reviens sur ce sujet parce que je suis tombé sur une solution plus efficace pour lister les cultures disponibles (la solution que j'avais proposée étant assez lente...)

    Cette méthode consiste à rechercher les assemblies satellites (.resources.dll) présents dans les sous-répertoires de l'application.

    http://www.codeproject.com/KB/WPF/WP...ilableCultures

  14. #14
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 45
    Points : 32
    Points
    32
    Par défaut
    Un info pour vous.

    Utiliser le truc de x:Static et metter votre classe de fichier de ressources publique.

    Pour ce faire, ouvrez le .resx et choisissez le "Access Modifier" à public.

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

Discussions similaires

  1. [NASM] Utiliser des fichiers ressources
    Par trax44 dans le forum Assembleur
    Réponses: 8
    Dernier message: 26/09/2004, 18h42
  2. [TP]comment faire pour lire un fichier son
    Par sovo dans le forum Turbo Pascal
    Réponses: 1
    Dernier message: 19/09/2004, 19h33
  3. Fichier ressource et infos de version
    Par gord's dans le forum Langage
    Réponses: 4
    Dernier message: 25/06/2004, 17h05
  4. [debutant]quoi fair pour recompiler un fichier .java
    Par nouaman dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 27/05/2004, 09h10
  5. Fichier ressource contenant une icône
    Par k_boy dans le forum x86 32-bits / 64-bits
    Réponses: 9
    Dernier message: 26/09/2002, 20h59

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