Liaison d'une clé et d'une valeur de dictionnaire dans une liste avec wpf

Je suis en train d'essayer de lier d'un dictionnaire de la clé à une ligne de la grille dans une listbox, et de lier le dictionnaire de la valeur à une autre ligne de la grille. la clé est de type Livre, une classe thati écrit et la valeur est de type int.
je veux écrire les éléments de la classe et de la valeur de l'entier dans la grille.
Pouvez-vous m'aider sur ce point? Je suis assez confus sur la détermination de la itemsSource et le type de données à lier.
merci pour votre aide

Edit: j'ai oublié de dire que je suis à l'aide de c# - wpf. =)


J'ai envoyé le dictionnaire comme le itemsSource, et j'ai précisé le dictionnaire comme type de objectdataprovider tag, et essayé d'envoyer la valeur (int) par ce code:

< TextBlock Text="{Binding Value, Mode=OneWay}" Grid.Row="1" Width="65" >

et la selecteditem a été montré que [myNameSpace.Livre, 4] au lieu de seulement 4.


BookListBox.ItemsSource = LibManager.Books;

c'est ce que j'ai écrit dans la Fenêtre.xaml.cs et de Livres est une liste compilée, où liste compilée est un type de dictionnaire< Livre, int> .

et le fichier xaml:

< ListBox Height="571" HorizontalAlignment="Left" Margin="444,88,0,0"
          Name="BookListBox" VerticalAlignment="Top" Width="383" >
        < ListBox.Resources>
            <ObjectDataProvider x:Key="BookData"
                                ObjectType="{x:Type local:BookList}"/>
        </ListBox.Resources>
        < ListBox.ItemTemplate>
            < DataTemplate>
                < Border BorderThickness="2" BorderBrush="Black" Margin="5"
                         CornerRadius="5" Width="350" >
                    < Grid DataContext="{StaticResource BookData}" >
                        < Grid.ColumnDefinitions>
                            < ColumnDefinition/>                        
                        </Grid.ColumnDefinitions>
                        < Grid.RowDefinitions>
                            < RowDefinition/>
                            < RowDefinition/>
                        < /Grid.RowDefinitions>
                        < Label Content="count: " />
                        < TextBlock Text="{Binding Value, Mode=OneWay}"
                                    Grid.Row="1" Width="65"/>
                    < /Grid>
                < /Border>
            < /DataTemplate>
        < /ListBox.ItemTemplate>
    < /ListBox>

il y a encore un problème avec mon code, je ne peux pas voir les éléments répertoriés dans la zone de liste. Je veux dire que je pourrais obtenir les valeurs par ListBox.SelectedItemmais ne pouvait pas voir dans la zone de liste. donc je ne peux pas être sûr si je pouvais passer la valeur de l'entier où je le veux.

Donc je pense que j'ai aussi besoin d'aide pour ce problème en premier...
J'écris une étiquette que j'écris à la main, et un autre label qui doit être rempli par liaison de données dans la même ligne mais je viens de voir la première étiquette, mais je peux atteindre la valeur dans le code derrière.

source d'informationauteur cemregoksu