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 :

Comment lier une observableCollection à un ListView


Sujet :

Windows Presentation Foundation

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 6
    Par défaut Comment lier une observableCollection à un ListView
    Bonjour, un problème qui m'embête depuis hier soir : je débute avec wpf et je ne comprend pas comment lier une observableCollection à un ListView.

    Contexte : une application distribuée qui permet à des élèves de participer à des sessions de test basés sur des qcm préparés par des profs.

    Sur l'application client , un élève veut connaître la liste des sessions en cours pour participer à l'une d'entre elle. Le client envoie un Message de demande au serveur, le serveur interroge la base avec une requete LINQ, et enfin construit une observableCollection puis l'envoie dans un message au client.

    Le client se retrouve donc avec une observableCollection<SessionTestEnCours> et un ListView.

    Etant un peu débutant avec toutes ces technologies, je ne sais pas si ma démarche est bonne, mais bon maintenant que jai cette collection et le ListView, comment les lier ??

    Merci d'avance pour votre aide

  2. #2
    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
    Par défaut
    Salut,

    Pour faire la liaison, il faut utiliser la propriété ItemsSource de la ListView.

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    maListView.ItemsSource = monObservableCollection;

  3. #3
    Nouveau membre du Club
    Inscrit en
    Février 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 6
    Par défaut
    merci. Donc javais bien realisé la liaison , mais comment fait on ensuite pour que la listview affiche les elements de la collection ? je pensé que par defaut ca affichait tous les attributs a ce stade mais je nai rien qui saffiche . jai entendu parler de datatemplate mai je ne comprend pas le fonctionnement et ne sait pas si cest bien ca

  4. #4
    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
    Par défaut
    Tu as fait la liaison et tu n'as rien ? Si ta collection n'est pas vide tu devrais au moins voir le ToString de ton objet.

    Sinon oui la propriété ItemTemplate peut te permettre de définir le modèle d'affichage de tes items :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <ListView>
      <ListView.ItemTemplate>
        <DataTemplate>
          <TextBlock Text="{Binding Path=Name}" />
        </DataTemplate>
      </ListView.ItemTemplate>
    </ListView>
    où Name est une propriété de ton objet. J'ai défini pour l'exemple un textBlock, mais tu peut définir/ajouter autant de contrôle que tu veux (CheckBox, TextBox, etc.) dans ton DataTemplate

    Après si tu souhaites faire des colonnes, c'est possible avec la ListView mais plus simple avec la DataGrid.

  5. #5
    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
    La ListView est un contrôle intéressant mais complexe lorsque l'on débute avec WPF.

    Essaye de t'attaquer à un contrôle plus "simple" pour commencer

Discussions similaires

  1. Comment lier une aspx page avec un css
    Par arioule dans le forum ASP.NET
    Réponses: 6
    Dernier message: 08/06/2007, 17h06
  2. Réponses: 1
    Dernier message: 06/06/2007, 19h53
  3. Comment lier une combobox à un input dans un formulaire?
    Par MisterCool dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 28/06/2006, 15h12
  4. Réponses: 4
    Dernier message: 26/09/2005, 14h27

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