WPF 数据网格每个对象多行

本文关键字:对象 数据 数据网 网格 WPF | 更新日期: 2023-09-27 17:57:11

有没有办法说..如果我有一个类,它的一个字段是一个数组,并且有一个类的集合。 我怎样才能将它绑定到 dataGrid,以便对于集合中每个类的数组中的每个对象,我在 datagrid 中都有一行?例:

Class aClass
{
    prop int x;
    prop bClass[] z;
}
Class bClass
{
    prop int n;
    prop DateTime dt;
}

我想要一个 aClass 的集合,在 DataGrid 中为数组中的每个"bClass"对象提供一行,对于每个"aClass",列将是 x dt 和 n。

WPF 数据网格每个对象多行

我认为有几种方法可以得到你想要的东西。

一种方法是使用平面数据表来完成此类任务。 因此,您可以动态创建列。 至少 bclass[] 的最大长度。 你有一个可以轻松处理的平面结构。

另一种方法是使用 WPF 数据网格中的"行详细信息"选项。

如果您不需要多行标题,而是每个单元格只有 2 行,则可以使用 DataGridTemplateColumn,将特定的 DataTemplate 添加到 DataGridTemplateColumn.CellTemplate 中。

困难的是用 C# 创建 DataTemplate,因为您可以轻松地从 C# 创建这种绑定。