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 :

Image et texte dans une listbox de façon dynamique


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé

    Profil pro
    Inscrit en
    Mars 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 35
    Par défaut Image et texte dans une listbox de façon dynamique
    Bonsoir,

    J'aimerais intégrer du texte et une image à chaque item de ma listbox mais après avoir galérer trois heures cette après midi, je ne vois pas du tout comment faire.

    Ayant l'habitude de Java, j'ai essayé d'intégrer un label pour chaque item mais je n'ai pas trouvé comment intégrer au label une icone donc j'en suis au même point.

    L'idée du truc, c'est d'avoir, à la Skype, des items textuels qui ne change pas mais par contre les icones changent en fonction de l'état de chaque utilisateur.

  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,

    Tu peux utiliser la propriété ItemTemplate de la ListBox :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <ListBox ItemsSource="{Binding userList}" >
       <ListBox.ItemTemplate>
         <DataTemplate>
           <StackPanel Orientation="Horizontal" >
             <Image Source="{Binding Icone}" Width="18" Height="18" />
             <TextBlock Text="{Binding Pseudo}"/>
           </StackPanel>
         </DataTemplate>
       </ListBox.ItemTemplate>
     </ListBox>
    où userList est une propriété définissant la liste des utilisateurs :
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    ObservableCollection<User> userList { get; set; }
    et ou un utilisateur (User) est une classe possédant des propriétés Pseudo et Icone :
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public class User : INotifyPropertyChanged {
      public string Pseudo { get; set; }
      public ImageSource Icone { get; set; }
     
      ...
    }


    Pour plus d'informations, tu peux regarder ce lien :
    http://msdn.microsoft.com/en-us/library/ms742521.aspx

  3. #3
    Membre confirmé

    Profil pro
    Inscrit en
    Mars 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 35
    Par défaut
    impec Je te remercie. J'ai déjà eu à lire ce genre d'exemple cette après midi mais sincèrement ça ne m'a pas parlé vu que je ne vois pas le concept de binding et de template. Va falloir que j'apprenne ce que c'est

  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
    Citation Envoyé par banban56
    impec Je te remercie. J'ai déjà eu à lire ce genre d'exemple cette après midi mais sincèrement ça ne m'a pas parlé vu que je ne vois pas le concept de binding et de template. Va falloir que j'apprenne ce que c'est
    Oui. Comprendre le binding et les templates est vraiment nécessaire

  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
    Citation Envoyé par binoo Voir le message
    Oui. Comprendre le binding et les templates est vraiment nécessaire
    Je confirme: il s'agit de concepts très important en WPF (et même Silverlight )

  6. #6
    Membre confirmé

    Profil pro
    Inscrit en
    Mars 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 35
    Par défaut
    Bonjour bonjour

    Donc je me suis fait un petit cours sur les binding et les templates ce matin J'ai assez compris le principe et au final j'avais déjà utilisé ce concept dans d'autres langages. Le problème c'est que comme je n'ai pas pratiqué sur .net, les fondements de syntaxe sont encore un peu flous.

    J'ai donc essayé ce que tu m'a donné hier et au début ça ne marchait pas ... pour que tous apparaissent dans ma listBox, il eu fallut que je mette :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    listUIGraphic.ItemsSource = listUser
    où listUser est une ObservableCollection. A mon avis c'est pas très propre ça et je demande vérification

    Je n'ai pas encore essayé le dynamique. Je vais voir ça de suite

  7. #7
    Membre confirmé

    Profil pro
    Inscrit en
    Mars 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 35
    Par défaut
    En effet ... je ne pense pas qu'il faut que je fasse comme ça parce que du coup, le chargement dynamique ne marche pas. J'ai beau rappeler la méthode que j'ai cité plus haut, lors d'un update de l'observer. Et pas la moindre trace d'un update ou d'un refresh pour la listBox :s

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

Discussions similaires

  1. ouvrir un fichier texte dans une listbox
    Par nimbus629 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 07/07/2009, 21h43
  2. Couleur des textes dans une ListBox
    Par Nico28 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 18/06/2009, 12h01
  3. Ajouter du texte dans une ListBox sans sauter de ligne
    Par walid_kerkoub dans le forum Composants VCL
    Réponses: 2
    Dernier message: 03/03/2008, 15h42
  4. Réponses: 5
    Dernier message: 15/04/2005, 14h22
  5. Icône a coté du texte dans une ListBox
    Par joce3000 dans le forum C++Builder
    Réponses: 6
    Dernier message: 05/12/2003, 02h25

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