C# 动态数据网格&x27;s标题和绑定

C# 动态数据网格&x27;s标题和绑定,c#,wpf,gridview,datagrid,C#,Wpf,Gridview,Datagrid,问题是: 我有一个对象列表,其中包含日期、名称和值属性。名称和日期属性可以不同,也可以相同 orange 2012-01-01 1 orange 2013-01-01 0 我想创建一个包含标题(不同日期)和行的GridView Name 2012-01-01 2013-01-01 orange 1 0 正如您所看到的,对象没有像“2012-01-01”这样的属性,因此简单绑定没有帮助 问题 如何使用列名创建绑定 我希望使用XAML或转换器

问题是:

我有一个对象列表,其中包含日期、名称和值属性。名称和日期属性可以不同,也可以相同

orange  2012-01-01  1
orange  2013-01-01  0
我想创建一个包含标题(不同日期)和行的GridView

  Name   2012-01-01   2013-01-01
orange       1            0
正如您所看到的,对象没有像“2012-01-01”这样的属性,因此简单绑定没有帮助

问题

如何使用列名创建绑定


我希望使用XAML或转换器来实现这一点,而不使用UserControl的事件

获取对象列表-根据您的条件创建一个新的对象列表。然后简单地将新列表作为itemssource放入datagrid/itemscontrol。

基本上,您需要做的(正如您所注意到的)是创建一个具有动态属性(即在运行时填充的属性)的对象列表。转换本身是一个日期轴,具有一个sum(?)值,您可以在转换器中使用GroupBy Linq查询来执行该值

现在是棘手的部分。看看这个答案:


您需要实现ICustomTypeDescriptor来实现动态属性。祝你好运。

我在编译时不知道头是的,它看起来像一个pivot转换,但目的不同。事实上,我已经忘记了datatable和类似的东西。我已经用datatable解决了我的问题。你们的答案和那个链接对我帮助很大,谢谢