Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在Silverlight中将字典集合绑定到列表框_C#_Silverlight - Fatal编程技术网

C# 在Silverlight中将字典集合绑定到列表框

C# 在Silverlight中将字典集合绑定到列表框,c#,silverlight,C#,Silverlight,我有一本字典集,我需要将它绑定到Silverlight ListBox。我无法使用键值绑定到ListBox。 下面是示例代码。。我的记录是空的 隐藏在代码中的字典 Dictionary<DayOfWeek, List<Book>> bookItem = new Dictionary<DayOfWeek, List<Book>>(); <ListBox x:Name="ListValues" ItemsSource="{Binding book

我有一本字典集,我需要将它绑定到Silverlight ListBox。我无法使用键值绑定到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>
Dictionary bookItem=new Dictionary();

IDictionary.GetEnumerator返回
KeyValuePair
的集合。因此,为了绑定到对象,需要使用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>


这是字典。。Dictionary()bookItem=新建Dictionary();肖恩。。谢谢你的回复。我的Book类有三个属性:BookId、BookName、BookTitle。Dictionary collections键是DayOfWeek,值是List。现在我需要将它绑定到Gridview中的列表框。栅格视图栏包括书名、书名、周五、周六、周日、周一、周二、周四。现在,书籍项目绑定到Fri列。。to Thu应基于字典的键(其中包含要绑定的日期)。如果你明白我的解释,请告诉我。再次感谢您的时间。我不确定您希望如何显示数据,但我已更新了我的答案,以尝试与您的评论更匹配。希望这能有所帮助。Shawn这是我的网格视图示例。。现在,我希望TextBlock的BookId和BookName按照Dictionary集合中的键显示在Week列上。假设某些行的键包含[星期二],那么它们应该绑定到星期二列中的列表框。。如果键是[Friday],那么它们应该绑定到Friday列。我知道这很难理解/解释。。我尽力解释