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 :

[WPF] Binding ListBox


Sujet :

Windows Presentation Foundation

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2007
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2007
    Messages : 634
    Points : 407
    Points
    407
    Par défaut [WPF] Binding ListBox
    Bonjour a tous,

    J'ai un petit souci de binding sur une listbox.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
            private ObservableCollection<Drives> _listHDD = null;
            public ObservableCollection<Drives> ListHDD
            {
                get 
                { 
                    return this._listHDD; 
                }
                set
                {
                    this._listHDD = value;
                }
    avant ca fonctionnait parce que je bindais tout le temps sur la même liste mais maintenant j'ai rajouter le set et je fait ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.ListHDD = this._clients[this._selected].Drives;
    Mais rien ne s'affiche dans la liste, avez-vous une idée ?

    Cordialement,
    NeoKript

  2. #2
    Membre confirmé Avatar de MetalGeek
    Profil pro
    Inscrit en
    octobre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : octobre 2008
    Messages : 412
    Points : 513
    Points
    513
    Par défaut
    Salut,
    ton composant graphique n'est pas notifié du changement dans la liste, sa propriété "ItemsSource" observe toujours l'ancienne référence.
    Tu as deux possibilités :
    - soit tu veux réellement échanger la référence à la collection, ce qui est atypique mais possible, et là tu peux soit mettre à jour le binding explicitement, soit faire de ton objet métier un INotifyPropertyChanged.
    - soit tu gardes la même liste, et tu échanges ses éléments, ce qui me paraît plus adéquat (sinon pourquoi utiliser ObervableCollection ?).

    Du genre :
    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
     
    get 
    { 
          return this._listHDD; 
    }
    set
    {
          this._listHDD.Clear();
     
        if (value != null)
        {
            foreach (var item in value)
            {
                 this._listHDD.Add(item);
            }
        }
    }

  3. #3
    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
    Citation Envoyé par MetalGeek Voir le message
    soit faire de ton objet métier un INotifyPropertyChanged.
    C'est d'ailleurs la solution la plus recommandé

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2007
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2007
    Messages : 634
    Points : 407
    Points
    407
    Par défaut
    Nickel ca fonctionne merci

    Au passage y-a-ti'il moyen d'inclure un code xaml + cs dans un autre car je commence a me perdre un peu ! Genre faire un xaml + cs par frame et avoir une fenetre pricipale qui "inclut" les autres en fonction du menu des boutons cliques...

    Merci

  5. #5
    Membre expert
    Profil pro
    Inscrit en
    décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2004
    Messages : 2 210
    Points : 3 015
    Points
    3 015
    Par défaut
    Citation Envoyé par NeoKript
    Nickel ca fonctionne merci

    Au passage y-a-ti'il moyen d'inclure un code xaml + cs dans un autre car je commence a me perdre un peu ! Genre faire un xaml + cs par frame et avoir une fenetre pricipale qui "inclut" les autres en fonction du menu des boutons cliques...

    Merci
    Éclater un fichier xaml, je n'ai jamais vu. Par contre, éclater le fichier cs, c'est possible avec le principe des classes partielles.

    Sinon, tu peux faire un contrôle utilisateur par frame. C'est pas vraiment l'intérêt d'un contrôle utilisateur, mais ça peut aussi te servir pour éclaircir ton code .
    Au passage, un tutoriel sur les contrôles utilisateurs :
    http://morpheus.developpez.com/wpf/wpfcontrolscreation/

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2007
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2007
    Messages : 634
    Points : 407
    Points
    407
    Par défaut
    Citation Envoyé par binoo Voir le message
    Éclater un fichier xaml, je n'ai jamais vu. Par contre, éclater le fichier cs, c'est possible avec le principe des classes partielles.

    Sinon, tu peux faire un contrôle utilisateur par frame. C'est pas vraiment l'intérêt d'un contrôle utilisateur, mais ça peut aussi te servir pour éclaircir ton code .
    Au passage, un tutoriel sur les contrôles utilisateurs :
    http://morpheus.developpez.com/wpf/wpfcontrolscreation/
    C'est nettement plus propre avec les UserControls ! Long a tout refaire mais c'est pour la bonne cause ! Merci

    Cordialement,
    NeoKript

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

Discussions similaires

  1. WPF Binding sur une listbox
    Par infosam76 dans le forum C#
    Réponses: 4
    Dernier message: 16/06/2011, 22h31
  2. binding et wpf sur listbox
    Par MarioKart dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 28/07/2009, 19h39
  3. wpf binding avec un dataset sans listbox
    Par ZashOne dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 25/12/2007, 19h09
  4. [WPF][Binding] Comment binder un fichier XML sur un treeview?
    Par bakonu dans le forum Général Dotnet
    Réponses: 5
    Dernier message: 26/11/2007, 17h09
  5. [WPF] Binding sur app.config
    Par despeludo dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 24/10/2007, 22h56

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