我想在列标题上方的现有WPF DataGrid中添加“drop”区域。在该区域中,我希望允许用户删除表示要分组的列的列标题,并通过从这个区域中删除它们来取消组合这些列。 Xceed,SyncFusion和其他商业网格提供此功能,但我需要自己完成。
我的方法包括提取DataGrid的ControlTemplate,根据我的需要修改它,然后创建一个从DataGrid派生的新控件,它在generic.xaml中定义了这个ControlTemplate。在大多数情况下这是有效的,但必须有更好的方法,是吗?
我一直在寻找一种使用附加属性的方法,但无法弄清楚如何将新的“drop”区域插入到现有控件的Visual Tree中。
欢迎任何建议。谢谢!
答案 0 :(得分:0)
您可以编写一个包含DataGrid的Control并覆盖其ControlTemplate,或者只是在您使用它的地方覆盖它,如果您只在一个地方使用它。
但是,封装DataGrid而不是继承它不会产生太大的影响。