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 :

Binder une listview avec une list<>


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de chris81
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 626
    Par défaut Binder une listview avec une list<>
    Bonjour,
    sur ma fenetre j'ai un listview. En behind j'ai un list<Client>.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     private List<Client> _ClientList = new List<Client>();
     
    this.lvClient.DataContext = this._ClientList;
    this.lvClient.SetBinding(ListView.ItemsSourceProperty, new Binding());
    j'ai un bouton, qd je clique sur le bouton je fait un ajout dans ma list d'un nouveau client. Je clique une fois je vois le client dans le listview, mais si je clique ensuite sur le bouton les clients ne sont jamais ajouté au listview mais sont bien dans ma liste de client ClientList.

    Sauriez vous d'où peux venir le souci ?

    merci

  2. #2
    Membre expérimenté

    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
    Par défaut
    Si tu veux assurer la synchronisation entre ta vue et tes données, il faut que ta collection implémente INotifyCollectionChanged. Le plus simple pour cela est d'utiliser ObservableCollection<> à la place de List<>.

    De cette manière, les changements sur la collection seront bien reflétés dans ton ListView.

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

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Citation Envoyé par Jérem22 Voir le message
    Si tu veux assurer la synchronisation entre ta vue et tes données, il faut que ta collection implémente INotifyCollectionChanged. Le plus simple pour cela est d'utiliser ObservableCollection<> à la place de List<>.

    De cette manière, les changements sur la collection seront bien reflétés dans ton ListView.
    +1: il faut passer par une ObservableCollection

  4. #4
    Membre éclairé Avatar de chris81
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 626
    Par défaut
    Bon je vous fais pas de bisous mais le coeur y est

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/04/2015, 11h17
  2. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 12h59
  3. Réponses: 4
    Dernier message: 15/10/2009, 13h33
  4. modification avec une listview sur une BD Sqlserver
    Par k_boy dans le forum Windows Forms
    Réponses: 1
    Dernier message: 15/07/2009, 19h57
  5. Remplir une ListView avec une BD
    Par manikou dans le forum MFC
    Réponses: 1
    Dernier message: 17/05/2005, 09h48

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