如何在ComboBox datacontext中分配不同的属性值?

时间:2012-11-28 14:16:42

标签: wpf linq linq-to-sql wpf-controls dynamic-linq

我想在名为categoryList

的ComboBox中显示所有不同的类别
<DataTemplate x:Key="CategoryTemplate">
        <StackPanel Orientation="Horizontal">
            <TextBlock Text="{Binding Path=Category}"/>
        </StackPanel>
    </DataTemplate>
...
 <ComboBox Name="catagoryList" VerticalAlignment="Top" SelectionChanged="categoryList_SelectionChanged" IsSynchronizedWithCurrentItem="True" ItemsSource="{Binding}" ItemTemplate="{StaticResource CategoryTemplate}"/>
...
代码背后的代码:

this.categoryList.DataContext = ldc.Books.Select(b => b.Category).Distinct();

但是,它不起作用。我怎样才能做到这一点?或者还有其他方法吗?谢谢。

1 个答案:

答案 0 :(得分:0)

ToList()添加到Distinct()并将其分配给ItemsSource

this.categoryList.ItemSource = ldc.Books.Select(b => b.Category).Distinct().ToList();