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 :

Images dans un ComboBox


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de yonpo
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2010
    Messages
    617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 617
    Par défaut Images dans un ComboBox
    Salut à tous,

    Débutant en WPF, je suis confronté à petit problème.

    En WindowsForms, j'utilise un ImageList dans lequel je stocke des images (évidemment...). Pour récupérer une image de la liste, j'utilise l'index de celle ci (0-> 1ere image, 1->2eme image, etc).

    En WPF, je souhaite mettre des images dans un combobox.
    En fonction, d'une condition, je mets telle ou telle collection d'images dans le combobox (une collection d'image qui contient, par exemple, des carrés verts et une autres des carrées rouges).

    Le problème, c'est que je ne sais pas comment faire cela en WPF. Comment créer une collection d'images? Comment récupérer une image de la collection par son index?

    Dans un dossier Images, j'ai mis des images. Ensuite, j'ai fait ça en XAML:
    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
     
    <Window.Resources>
    <ImageSource x:Key= "0">Images/image0.png</ImageSource>
     
    <!-- Les carrés rouges -->
    <ImageSource x:Key= "1">Images/image1.png</ImageSource>
    ....
    <ImageSource x:Key= "5">Images/image5.png</ImageSource>
     
    <!-- Les carrés verts -->
    <ImageSource x:Key= "6">Images/image6.png</ImageSource>
    ....
    <ImageSource x:Key= "10">Images/image10.png</ImageSource>
     
    </Window.Resources>
    Et ça pour ajouter une des collections d'images dans le combobox (code en vb):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    MonComboBox.Items.Add(CType(window0.FindResource("0"), ImageSource))
    ...
    Mais en faisant comme ça, ça ne marche pas.
    Les items du combobox sont des string qui contient le lien des images.

    Il y a surement une autre façon de faire.

    Merci à ceux qui m'ont lues et qui m'aidront.

  2. #2
    Membre émérite Avatar de jmix90
    Homme Profil pro
    Consultant .Net
    Inscrit en
    Juillet 2007
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2007
    Messages : 576
    Par défaut
    Hello,

    Ce que je te conseille c'est :
    1. Tu ajoutes les chemins vers tes images dans la list
    2. Tu fais un data item template qui utilise ce chemin pour afficher une image


    Pour savoir comment customizer l'apparence des items affichés dans ta listbox, tu peux lire cet article : http://www.wpftutorial.net/ListBoxDataTemplate.html

    Bon courage,

  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 jmix90 Voir le message
    Hello,

    Ce que je te conseille c'est :
    1. Tu ajoutes les chemins vers tes images dans la list
    2. Tu fais un data item template qui utilise ce chemin pour afficher une image
    +1, ce sera le plus simple

  4. #4
    Membre émérite Avatar de yonpo
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2010
    Messages
    617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 617
    Par défaut
    Effectivement c'est très simple comme ça, je ne connaissais pas encore le databinding.
    Je réfléchie encore en winforms et donc du coup j'essaye de trouver des équivalents en wpf, qu'il n'y a pas forcement.

    Voici le code pour ceux que ça intéresse.

    Ajout des chemins:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    cbxNote.Items.Add("Images/image0.png")
    ....
    Le DataTemplate pour afficher les images:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <ComboBox Name="cbxNote" Grid.Column="1" Grid.Row="10" Width="120"  Height="24" HorizontalAlignment="Left" ItemsSource="{Binding}">
                    <ComboBox.ItemTemplate>
                        <DataTemplate>
                            <Image Source="{Binding}"Height="16" Width="92"/>
                        </DataTemplate>
                    </ComboBox.ItemTemplate>
                </ComboBox>
    Merci à vous.

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

Discussions similaires

  1. Comment insérer des images dans une ComboBox HTML ?
    Par UiYuki dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 29/08/2010, 15h35
  2. Réponses: 4
    Dernier message: 08/03/2009, 13h13
  3. Réponses: 3
    Dernier message: 27/11/2008, 17h57
  4. Images dans combobox
    Par Arthis dans le forum ASP.NET
    Réponses: 1
    Dernier message: 13/08/2007, 14h15
  5. Probleme image dans combobox.
    Par devoluti0n dans le forum Delphi
    Réponses: 11
    Dernier message: 10/07/2007, 09h53

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