Lien entre 2 listbox wpf [Résolu]

donkeydim 6 Messages postés vendredi 15 janvier 2016Date d'inscription 24 janvier 2016 Dernière intervention - 15 janv. 2016 à 16:29 - Dernière réponse : donkeydim 6 Messages postés vendredi 15 janvier 2016Date d'inscription 24 janvier 2016 Dernière intervention
- 18 janv. 2016 à 21:27
Salut,

Je cherche comment relier deux listbox wpf.

Par exemple quand je choisi ds listbox1 "fruits" ca m'affiche dans la listox2 "banane,cerise,clémentine... Et quand je choisi légumes dans listbox1 ca affiche ds listbox 2...

Je n'arrive pas a faire la data binding.

Merci.
Afficher la suite 

2 réponses

Répondre au sujet
Whismeril 11048 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 18 février 2018 Dernière intervention - Modifié par Whismeril le 18/01/2016 à 17:58
+1
Utile
1
Bonjour,

j'ai montré ta question à un collègue qui connait bien WPF.
Voici sa proposition:

Deux classes:
   public class aliment
    {
        public aliment(string Nom)
        {
            this.Nom = Nom;
            LP = new List<produit>();
        }

        public List<produit> LP { get; set; }

        public string Nom { get; set; }

        public override string ToString()
        {
            return Nom;
        }
    }
    public class produit
    {
        public string name { get; set; }
        public produit() { }
        public produit(string s) { name = s; }
        public override string ToString()
        {
            return name;
        }
    }


Le xaml (la couleur c'est juste pour que ça tranche)
        <Grid Name="Grid_Infos" Background="#FF4A4848">
            <ListBox x:Name="LBox2" ItemsSource="{Binding ElementName=LBox, Path=SelectedItem.LP}" Margin="258,0,0.4,-0.2" Background="#FFD2D2F2" ></ListBox>
        </Grid>
        <ListBox x:Name="LBox" Margin="0,0,293.4,-0.2"></ListBox>


Et le code behind dans Windows_Loaded
            produit p1 = new produit("orange");
            produit p2 = new produit("pomme");
            produit p3 = new produit("tomate");
            produit p4 = new produit("salade");
            aliment temp = new aliment("Fruits");
            aliment toto = new aliment("Légumes");
            temp.LP.Add(p1);
            temp.LP.Add(p2);
            toto.LP.Add(p3);
            toto.LP.Add(p4);
            LBox.Items.Add(temp);
            LBox.Items.Add(toto);


Quand j'étais petit, la mer Morte n'était que malade.
George Burns
Cette réponse vous a-t-elle aidé ?  
donkeydim 6 Messages postés vendredi 15 janvier 2016Date d'inscription 24 janvier 2016 Dernière intervention - 18 janv. 2016 à 21:27
ok merci ça répond bien à mon attente.

Je vais travailler avec cela sur mon projet.
Commenter la réponse de Whismeril

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.