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 :

Listbox contenant des objets, afficher comme texte un attribut de l'objet.


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 35
    Par défaut Listbox contenant des objets, afficher comme texte un attribut de l'objet.
    Bonjour à tous,

    Voilà j'ai une classe CEstivant, elle a des attributs comme nom, prenom, etc..
    J'ajoute tous ces objets dans une listbox, mais je n'arrive pas à gérer à ce qu'elle affiche autre chose que le type de mon objet ici Cestivant.

    Elle me retourne bien des objets mais le problème est que j'aimerais par exemple qu'elle affiche le nom et prénom.

    Merci pour votre aide.

  2. #2
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 35
    Par défaut
    Listbox.DisplayMemberPath = "NomEstivant";

    ben voilà encore merci...

    Désormais le problème est que je ne peux pas mettre le nom et le prénom.
    J'ai pensé à la mettre en multicolonne mais comment faire fonctionner tout ça?

    Listbox.DisplayMemberPath = "NomEstivant";

  3. #3
    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 : 43
    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
    Par défaut
    Citation Envoyé par Jean_guy Voir le message
    Listbox.DisplayMemberPath = "NomEstivant + PrenomEstivant";
    euh... t'es sûr ?? j'étais surpris en voyant ça, donc j'ai testé, et chez moi ça marche pas...

    Perso je suis obligé de faire ça :
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
            <ListBox ItemsSource="{StaticResource persons}">
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <TextBlock>
                            <TextBlock.Text>
                                <MultiBinding StringFormat="{}{0} {1}">
                                    <Binding Path="Nom"/>
                                    <Binding Path="Prenom"/>
                                </MultiBinding>
                            </TextBlock.Text>
                        </TextBlock>
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox>

  4. #4
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 35
    Par défaut
    Merci tomlev, effectivement on ne peut en mettre qu'un seul. soit le nom ou le prénom.

    Sinon j'aimerais le faire en C#, pas en xaml, vu que la listbox est dans un usercontrol et qu'il est appelé ainsi que la listbox pour différentes choses.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
                DataTemplate otemplate = new DataTemplate();
                MultiBinding bind = new MultiBinding();
                Binding bind1 = new Binding("NomEstivant");
                Binding bind2 = new Binding("PrenomEstivant");
                bind.Bindings.Add(bind1);
                bind.Bindings.Add(bind2);
     
                otemplate.Resources.Add("mettre le otemplate et autre chose");
                oaffichList.Listbox.ItemTemplate = otemplate;

  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 : 43
    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
    Par défaut
    Tu n'as pas besoin de mettre le template dans les ressources, tu peux l'affecter directement au ItemTemplate. Et il faut définir la propriété StringFormat du MultiBinding : "{0} {1}"

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 562
    Par défaut
    on peut encore faire plus simple en surchargant le tostring de la classe
    qui retourne
    return this.nom + " " + this.prenom

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

Discussions similaires

  1. Redresser une image scannée contenant des images et du texte
    Par Rodrigue dans le forum Traitement d'images
    Réponses: 5
    Dernier message: 18/12/2011, 11h47
  2. Soucis flash XML contenant des liens dans un texte dynamique
    Par codefalse dans le forum ActionScript 1 & ActionScript 2
    Réponses: 8
    Dernier message: 15/08/2007, 16h39
  3. LISTBOX affiche du texte et pas des chiffres
    Par yannba dans le forum Bases de données
    Réponses: 6
    Dernier message: 21/11/2006, 17h45
  4. Comment faire 1 page web contenant des petits box comme ca ?
    Par mohamed dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 11/11/2006, 16h04
  5. [VBA-E]Plage contenant des nombres et du texte
    Par Mirx1 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/04/2006, 18h33

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