2012-05-16 52 views
0

我有一個字典集合,我需要將它綁定到Silverlight ListBox。我無法使用Key值綁定到ListBox。 下面是示例代碼..我得到空記錄 字典後面的代碼..將字典集合綁定到Silverlight中的ListBox

Dictionary<DayOfWeek, List<Book>> bookItem = new Dictionary<DayOfWeek, List<Book>>(); 
<ListBox x:Name="ListValues" ItemsSource="{Binding bookItem}"> 

             <ListBox.ItemTemplate> 
              <DataTemplate> 
              <StackPanel Orientation="Horizontal"> 

        <TextBlock Text="{Binding BookName[Tuesday]}"></TextBlock> 
          <TextBlock Text="{Binding BookDesc[Tuesday]}"></TextBlock> 
               </StackPanel> 
              </DataTemplate> 
             </ListBox.ItemTemplate> 
            </ListBox> 
+0

這裏是字典..字典>()bookItem =新詞典>(); – srikanth

回答

1

IDictionary.GetEnumerator返回KeyValuePair<TKey, TValue>的集合。因此,爲了綁定到您的對象,您需要使用KeyValuePair上的屬性。 下面是如何顯示數據的示例。

<DataTemplate> 
    <Grid> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="Auto"/> 
      <ColumnDefinition Width="*"/> 
     </Grid.ColumnDefinitions> 
    </Grid> 
    <!-- Display the day of week in the first column --> 
    <TextBlock Text="{Binding Current.Key}"/> 

    <!-- Display the books in the second column --> 
    <GridView Grid.Column="1" ItemsSource="{Binding Current.Value}" /> 
</DataTemplate> 
+0

Shawn ..謝謝你的回覆。 – srikanth

+0

Shawn ..謝謝你的回覆。我的Book類有三個屬性:BookId,BookName,BookTitle。字典集合鍵是DayOfWeek,值是列表。現在我需要將它綁定到GridView中的列表框。網格視圖colums是書名,書名,星期五,星期六,星期日,星期一,星期二,星期四。現在,綁定到星期五至星期四列的書籍項目應基於詞典的關鍵字(其中包含綁定的日期)。如果你瞭解我的解釋,請告訴我。再次感謝您的時間。 – srikanth

+0

不確定你想要如何顯示數據,但我已經更新了我的答案,嘗試將你的評論多一點。希望這可以幫助。 –

相關問題