Bonjour à tous,

Je souhaiterais réaliser un combobox dont les items seraient une image avec un texte correspondant.
Mon seul soucis c'est que rien ne s'affiche dans mon combobox en execution.
Pourriez vous checker mon code svp car je pense que j'ai zapé des choses ?
Merci d'avance.

Voici ci-dessous ce que j'ai déjà réalisé :
1/le XAML
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
      <ComboBox Grid.Column="1" Grid.Row="3" Height="23" HorizontalAlignment="Left" Margin="6,44,0,0" Name="cmbImg" VerticalAlignment="Top" Width="280" IsSynchronizedWithCurrentItem="True" SelectionChanged="cmbImg_SelectionChanged">
         <ComboBox.ItemTemplate>
            <DataTemplate>
               <Border Name="Border" Padding="2" SnapsToDevicePixels="true" MaxHeight="30">
                  <StackPanel Orientation="Horizontal" Margin="5,0,0,0">
                  <Image Source="{Binding Path=strFilePathImage}" Height="25" Width="25" HorizontalAlignment="Left"></Image>
                  <Label Margin="0,5,5,5" VerticalAlignment="Center" Content="{Binding Path=strImageName}"></Label> 
               </StackPanel>
               </Border>
            </DataTemplate>
         </ComboBox.ItemTemplate>
      </ComboBox>

2/le C#.NET de ma Window
Code c# : 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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
 
namespace Test_CmbImg_WPF
{
   /// <summary>
   /// Logique d'interaction pour MainWindow.xaml
   /// </summary>
   public partial class MainWindow : Window
   {
      public MainWindow()
      {
         InitializeComponent();
 
      }
 
      private void frm_MainWindow_Loaded(object sender, RoutedEventArgs e)
      {
         Classes.myImages myImagesList = new Classes.myImages();
         myImagesList.Add(new Classes.myImage(1, @"component/Images/Icon.ico", "Icon pour tester"));
         myImagesList.Add(new Classes.myImage(2, @"component/Images/RDV.png", "Test 2 image png"));
         cmbImg.ItemsSource = myImagesList;
         cmbImg.SelectedValuePath = "intItemCmbImg";
         InitCmb();
 
      }
 
      private void InitCmb()
      {
         if (cmbImg.SelectedIndex == -1)
         {
            cmbImg.Background = Brushes.Coral;
         }
         else
         {
            cmbImg.Background = Brushes.White;
         }
      }
 
      private void cmbImg_SelectionChanged(object sender, SelectionChangedEventArgs e)
      {
         InitCmb();
      }
   }
}

3/et enfin ma classe en C#.NET
Code c# : 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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections.ObjectModel;
using System.ComponentModel;
 
namespace Test_CmbImg_WPF.Classes
{
   class cls_col_cmb_img
   {
   }
 
   public class myImage
   {
      public int intItemCmbImg {get; set;}
      public string strFilePathImage {get; set;}
      public string strImageName {get; set;}
 
      public myImage(int ItemCmbImg, string FilePathImage, string ImageName)
      {
         this.intItemCmbImg = ItemCmbImg;
         this.strFilePathImage = FilePathImage;
         this.strImageName = ImageName;
      }
   }
   public class myImages : ObservableCollection<myImage>
   {
 
   }
}

Merci.

Siphon