Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.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# 如何在DataGrid中正确显示列表属性_C#_.net_Wpf_Wpfdatagrid - Fatal编程技术网

C# 如何在DataGrid中正确显示列表属性

C# 如何在DataGrid中正确显示列表属性,c#,.net,wpf,wpfdatagrid,C#,.net,Wpf,Wpfdatagrid,我有一个包含6个属性的类,“CompletePosition”、“ActivityNumber”、“ActivityDescription”、“Duration”、“WeatherWindow”和“Critiria”,我试图在数据网格中显示这些属性。目前,我将DataGrid的ItemsSource设置为IEnumerable 正如您可能已经指出的,我的问题是“Critiria”只显示为“(Collection)”。可以这么说,我希望它被扩展,列表中的每个元素都显示在它自己的列中。这可能吗 据我

我有一个包含6个属性的类,“CompletePosition”、“ActivityNumber”、“ActivityDescription”、“Duration”、“WeatherWindow”和“Critiria”,我试图在数据网格中显示这些属性。目前,我将DataGrid的ItemsSource设置为IEnumerable

正如您可能已经指出的,我的问题是“Critiria”只显示为“(Collection)”。可以这么说,我希望它被扩展,列表中的每个元素都显示在它自己的列中。这可能吗


据我所知,GridCell中不能有另一个网格。根据集合中内容的性质,只需将集合分解为逗号分隔的字符串并显示即可

例如,假设您的收藏是:

[Apples, Oranges, Pears]
您可以执行
String.Join(“,”集合)
获取用逗号分隔的字符串

结果将是:
苹果、桔子、梨


虽然这取决于您收藏的内容。

谢谢您的建议,但我的意思不是要有另一个网格,而是要让它看起来好像没有收藏,而是有独立的6个属性。因此,没有一个列名为“Criteria”,而是有6个列。这可能吗?要“欺骗”datagrid,使其认为有6个属性?您可以将这些属性添加到绑定到datagrid的任何类中。然后在绑定之前,您可以用集合的值填充这6个属性。但我只能硬编码吗?大多数时候是6,但不是每次都是。没有办法动态完成吗?嗯,我想你能循环你的集合并动态地向DataGrid添加列吗。看到这样的东西: