【发布时间】:2014-02-21 13:34:20
【问题描述】:
我正在尝试使用标准 wpf 数据网格为多级表数据创建表编辑器。 是否可以创建类似这样的嵌套结构?
使用标准行细节嵌套网格看起来很丑,因为行细节必须有固定的高度(所以我会得到多个滚动)
【问题讨论】:
-
您可以使用树视图和模板来解决此问题。
我正在尝试使用标准 wpf 数据网格为多级表数据创建表编辑器。 是否可以创建类似这样的嵌套结构?
使用标准行细节嵌套网格看起来很丑,因为行细节必须有固定的高度(所以我会得到多个滚动)
【问题讨论】:
每个DataGrid 都可以有一个叫做RowDetailsTemplate 的东西。该模板可以包含您想要的任何内容,包括另一个DataGrid。如果DataGrid 使用相同的RowDetailsTemplate,您可以将DataGrid 嵌套在DataGrid 中。
查看this article 以获取使用RowDetailsTemplate 的示例。您只需修改那里的 XAML 以使用您自己的模板。
【讨论】:
RowDetailsTemplate 中的DataGrid 的Height 绑定到其中行的属性。您必须递归遍历该嵌套对象中的所有对象,该对象填充嵌套的DataGrid 才能计算出高度。