Bonjour à tous
J'ai un petit souci de binding sur combobox.
Voici ce que je réalise :
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <ComboBox Name="CmbImgs" Height="66" Margin="24,172,148,0" VerticalAlignment="Top" Width="233" SelectedIndex="0"> <ItemsControl ItemsSource="{Binding ComboItems,Mode=OneWay}"/> <ComboBox.ItemTemplate> <DataTemplate> <Image Source="{Binding Bmp}" Width="100" Stretch="Uniform"/> </DataTemplate> </ComboBox.ItemTemplate> </ComboBox>
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 class ListImgScreenViewModel:ViewModel { DirectoryInfo DirImg = new DirectoryInfo(@"C:\Images"); public List<ImgScreenViewModel> ComboItems { get { List<ImgScreenViewModel> aList = new List<ImgScreenViewModel>(); foreach (FileInfo aFile in DirImg.GetFiles()) { aList.Add(new ImgScreenViewModel(aFile)); } return aList; } } public ListImgScreenViewModel() { } public class ImgScreenViewModel:ViewModel { FileInfo _File; public BitmapImage Bmp { get { BitmapImage aBmpImg = new BitmapImage(); aBmpImg.BeginInit(); aBmpImg.UriSource = new Uri(_File.FullName); aBmpImg.EndInit(); return aBmpImg; } } public ImgScreenViewModel(FileInfo theFile) { _File=theFile; } } }
Malheureusement rien ne s'affiche.
Au départ je passais une liste d'objet sans template et je me retrouvait avec toutes mes images en un seul bloc.
Bref il doit manquer un petit truc moi je n'arrive pas à voir quoi.
Ou bien ma méthode est elle complétement erronée?
Merci.
Partager