动态数据网格的标头和绑定
本文关键字:绑定 数据 数据网 网格 动态 | 更新日期: 2023-09-27 18:32:01
问题:
我有一个具有日期、名称和值属性的对象列表。 "名称"和"日期"属性可以不同,也可以相同。
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 的事件
本质上,您需要做的(正如您已经注意到的)是创建一个具有动态属性(即在运行时填充的属性)的对象列表。 转换本身是 Date 上的透视,具有跨值的总和 (?),可以使用转换器中的 GroupBy Linq 查询执行该数据。
现在是棘手的部分。 看看这个答案:
数据绑定动态数据
您需要实现 ICustomTypeScriptor 来实现动态属性。 祝你好运。
获取对象列表 - 根据您的条件创建一个新的对象列表。 然后,只需将新列表作为 ItemsSource 放入 DataGrid/ItemsControl 即可。