使用WPF DataGrid中的拖放进行分组

use*_*233 6 wpf grouping datagrid controltemplate

我想在列标题上方的现有WPF DataGrid中添加一个"drop"区域.在该区域中,我希望允许用户删除表示要分组的列的列标题,并通过从这个区域中删除它们来取消组合这些列.Xceed,SyncFusion和其他商业网格提供此功能,但我需要自己完成.

我的方法包括提取DataGrid的ControlTemplate,根据我的需要修改它,然后创建一个从DataGrid派生的新控件,它在generic.xaml中定义了这个ControlTemplate.在大多数情况下这是有效的,但必须有更好的方法,是吗?

我正在寻找一种使用附加属性的方法,但无法弄清楚如何将新的"drop"区域插入到现有控件的Visual Tree中.

欢迎任何建议.谢谢!

Dan*_*rod 0

您可以编写一个包含 DataGrid 并覆盖其 ControlTemplate 的控件,或者如果仅在一个地方使用它,则只需在使用它的地方覆盖它。

然而,封装 DataGrid 而不是继承它并没有多大区别。