我有一组匿名类型,我希望将其绑定到ItemsSource
的{{1}}属性。我确认该集合中有项目,但我的DataGrid
为空。
我创建了一个Debug转换器,它没有在那里击中我的断点,因此在此之前看起来有些事情发生了变化。
我检查了“输出”窗口,但没有看到绑定错误。
我的匿名类型看起来像这样:
DataGrid
在此之后,我检查了汽车的内容,它确实有数据。
我的Xaml看起来像这样:
var cars = from c in something.Cars
select new
{
Passengers = from p in c.Passengers
select new
{
Name = p.Name
}
Type = s.Type
};
Cars = cars;
Type上的<TabControl ItemsSource="{Binding Cars}">
<TabControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Type}" />
</DataTemplate>
</TabControl.ItemTemplate>
<TabControl.ContentTemplate>
<DataTemplate>
<DataGrid ItemsSource="{Binding Passengers}" >
<!-- column definitions here -->
</DataGrid>
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>
绑定会显示正确的数据。
我错过了什么?
更新:
linq结果的类型是TextBlock
。我有另一个System.Linq.Enumerable.WhereSelectListIterator
,其中绑定到匿名类型工作,但我注意到DataGrid
类型的linq结果。