Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.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# 作为LINQ GroupBy的一部分,如何将DataGrid列绑定到匿名类型中的属性?_C#_Wpf_Linq_Datagrid - Fatal编程技术网

C# 作为LINQ GroupBy的一部分,如何将DataGrid列绑定到匿名类型中的属性?

C# 作为LINQ GroupBy的一部分,如何将DataGrid列绑定到匿名类型中的属性?,c#,wpf,linq,datagrid,C#,Wpf,Linq,Datagrid,我有一个WPF项目,其中包含一个DataGrid。这是网格: <DataGrid Name="dgMyGrid" AutoGenerateColumns="False" Height="120"> <DataGrid.Columns> <DataGridTextColumn Header="File Name" Binding="{Binding source}" /> <DataGridTextColumn He

我有一个WPF项目,其中包含一个DataGrid。这是网格:

<DataGrid Name="dgMyGrid" AutoGenerateColumns="False" Height="120">
    <DataGrid.Columns>
        <DataGridTextColumn Header="File Name" Binding="{Binding source}" />
        <DataGridTextColumn Header="Count" Binding="{Binding count}" />
    </DataGrid.Columns>
</DataGrid>
当我尝试绑定到匿名类型中的属性时,datagrid为空。但是,我似乎确实能够绑定到ListFailures中类型的属性,例如sourceFile。不幸的是,匿名类型的全部目的是尝试给我一种绑定count属性的方法


那么如何绑定匿名类型中的属性,主要是“源”和“计数”?

因为您使用了
GroupBy
fileList
是一个
Group
对象序列,而不是匿名类型序列。由于您是按匿名对象分组的,因此这将位于
组的
属性中。这就是
GroupBy
所做的:选择器lambda返回一个键,
GroupBy
返回/产生/任何
Group
对象的序列,表示由选择器提供的任何键集分组的原始序列

<DataGridTextColumn Header="File Name" Binding="{Binding Key.source}" />
<DataGridTextColumn Header="Count" Binding="{Binding Key.count}" />
这将产生以下两组的序列:

Group.Key == false
((IEnumerable)Group) == [1, 3, 5]

Group.Key == true
((IEnumerable)Group) == [2, 4, 6]

谢谢完全忘记了我需要“关键字”这个词!
var evenOdd = Enumerable.Range(1, 6)
              .GroupBy(y => (y & 1) == 0)
              ;
Group.Key == false
((IEnumerable)Group) == [1, 3, 5]

Group.Key == true
((IEnumerable)Group) == [2, 4, 6]