2010-11-01 49 views
5

我想在列标题上方的现有WPF DataGrid中添加“拖放”区域。在该区域中,我希望允许用户删除表示要分组的列标题,并通过将这些列从这个区域删除来取消分组。 Xceed,SyncFusion和其他商业网格提供这种功能,但我需要自己做。在WPF DataGrid中拖放进行分组

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

我正在寻找一种方法,使用附加的属性,但无法弄清楚如何将新的“拖放”区域插入到现有控件的可视化树中。

欢迎任何建议。谢谢!

回答

0

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

但是,封装DataGrid而不是继承它并不会产生太大的区别。