Bonsoir a tous les pro du dotNet.

Cela fait quelques jours que je cherche sur le web une manière de Lier un DataGrid au Valeurs d'une "ObservableDictionnary".

Cela est t'il possible ?


Mon besoin nécessite d'afficher que les attribue de "MaClasse" qui est les valeur d "ObservableDictionnary", j'ai pas besoin d'afficher les "Keys" (Je les utilisent pour mettre à jour les éléments de l' "ObservableDictionnary").


Voici le code de "MaClasse":

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
public MaClass
{
       public BitmapSource Col1{ get; set; }
       public TimeSpan Col2{ get; set; }
       public int Col3{ get; set; }
 
}

Code XAML de DadaGrid

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
16
17
18
 
<DataGrid Name="MonDG">
 <DataGrid.Columns>
                <DataGridTemplateColumn Header="Col1" Width="40" IsReadOnly="True" MaxWidth="40" MinWidth="25" CanUserResize="False" >
                    <DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <Image Source="{Binding Col1}" />
                        </DataTemplate>
                    </DataGridTemplateColumn.CellTemplate>
                </DataGridTemplateColumn>
 
 
                <DataGridTextColumn Header="Col2" Binding="Col2" MinWidth="60" />
 
                <DataGridTextColumn Header="Col3" Binding="Col3" MinWidth="60" FontWeight="SemiBold"/>
 
 </DataGrid.Columns>
</DataGrid>

Code pour le binding

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
     //ça n'a pas marché
     MonDG.DataContext = DataCollection; // DataCollection  c'est une "ObservableDictionnary"  
 
      //ça n'a pas marché
      MonDG.ItemsSrouce= DataCollection; // DataCollection  c'est une "ObservableDictionnary"
 
      //ça n'a pas marché
      MonDG.ItemsSrouce= DataCollection.Values; // DataCollection  c'est une "ObservableDictionnary"

Que doit je faire ?


PS: J'ai réussi a avoir un bind sur les "Keys" seulement. (Après crées une colonne Key dans mon DataGrid)

Merci d'avance.