Sto tentando di associare la chiave di un dizionario a una riga della griglia in una casella di riepilogo e associare il valore del dizionario a un'altra riga della griglia. il tipo di chiave è Book, una classe che ha scritto e il tipo del valore è int. Voglio scrivere gli elementi della classe e il valore intero nella griglia. Potete aiutarmi su questo? Sono abbastanza confuso nel determinare gli itemsSource e il tipo di dati da associare. grazie per l'aiutoAssociazione di chiave e valore di un dizionario in una casella di riepilogo con wpf
Modifica: ho dimenticato di dire che sto usando C# - wpf. =)
ho mandato il dizionario come l'ItemsSource, e ho specificato il dizionario come tipo in ObjectDataProvider tag, e ha cercato di inviare il valore (int) da questo codice:
< TextBlock Text="{Binding Value, Mode=OneWay}" Grid.Row="1" Width="65" >
e la SelectedItem è stato mostrato come [myNameSpace.Book, 4] invece di solo 4.
BookListBox.ItemsSource = LibManager.Books;
questo è quello che ho scritto nella vittoria dow.xaml.cs and Books è una BookList, dove BookList è un tipo di dizionario < Book, int>.
e il file 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>
c'è un problema più con la mia code-- Non posso vedere gli articoli elencati nella casella di riepilogo. Significo che potrei ottenere i valori da ListBox.SelectedItem
ma non potrei vedere nella lista. quindi non posso essere sicuro di poter passare il valore intero a dove voglio.
Quindi penso di aver bisogno anche di un primo aiuto per questo problema ... Scrivo un'etichetta che scrivo a mano e un'altra etichetta che deve essere riempita con l'associazione dati nella stessa riga ma posso solo vedere la prima etichetta, ma posso raggiungere il valore nel codice sottostante.
Che lingua/quadro stai usando? Mi sembra .NET, ma dovresti chiarire. – LukeH
Cemre, puoi condividere il tuo codice con noi per favore? –
qualche idea/suggerimento/aiuto? – cemregoksu