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