动态datagrid的标头和绑定

时间:2012-04-24 09:32:52

标签: 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或转换器,而不使用UserControl的事件

2 个答案:

答案 0 :(得分:1)

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

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

Data binding dynamic data

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

答案 1 :(得分:0)

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