我在WPF中使用分组(通过CollectionViewSource中的PropertyGroupDescription)并在绑定的DataGrid中显示分组的集合。
通常(如在this MSDN Example中)这样的DataGrid将显示列标题,然后是每个组标题(在GroupStyle.Containerstyle中定义),后跟给定组中的数据行。这是一个快速的视觉效果:
+=====================================================+ | ColumnHeader1 | ColumnHeader2 | ColumnHeader3 | +-----------------+-----------------+-----------------+ | Group A | +-----------------------------------------------------+ | A_Value_11 | A_Value_12 | A_Value_13 | +-----------------------------------------------------+ | A_Value_21 | A_Value_22 | A_Value_23 | +-----------------+-----------------+-----------------+ | Group B | +-----------------------------------------------------+ | B_Value_11 | B_Value_12 | B_Value_13 | +-----------------------------------------------------+ | B_Value_21 | B_Value_22 | B_Value_23 | +=====================================================+
有没有办法让DataGrid列标题在每个组标题后显示/重复?
从视觉上看,这更符合我的要求:
+=====================================================+ | Group A | +-----------------------------------------------------+ | ColumnHeader1 | ColumnHeader2 | ColumnHeader3 | +-----------------------------------------------------+ | A_Value_11 | A_Value_12 | A_Value_13 | +-----------------------------------------------------+ | A_Value_21 | A_Value_22 | A_Value_23 | +-----------------+-----------------+-----------------+ | Group B | +-----------------------------------------------------+ | ColumnHeader1 | ColumnHeader2 | ColumnHeader3 | +-----------------------------------------------------+ | B_Value_11 | B_Value_12 | B_Value_13 | +-----------------------------------------------------+ | B_Value_21 | B_Value_22 | B_Value_23 | +=====================================================+
是否可以毫不费力地做到这一点?
答案 0 :(得分:0)
我会为包含列标题的每个组添加额外的第一行作为文本,并使用特殊的单元格模板显示它,例如因为TextBlock的样式与典型的列标题类似。