我正在尝试获取与特定关联的属性的名称DataGridColumn
,以便我可以根据它做一些事情。当用户单击列标题上的上下文菜单项时调用此函数...
这对于开箱即用的列类型(例如 )来说很好DataGridTextColumn
,因为它们是绑定的,但问题是我的一些列是DataGridTemplateColumns
,它们没有绑定。
private void GroupByField_Click (object sender, RoutedEventArgs e){
MenuItem mi = (MenuItem)sender;
ContextMenu cm = (ContextMenu) mi.Parent;
DataGridColumnHeader dgch = (DataGridColumnHeader) cm.PlacementTarget;
DataGridBoundColumn dgbc = (DataGridBoundColumn) dgch.Column;
Binding binding = (Binding) dgbc.Binding;
string BoundPropName = binding.Path.Path;
//Do stuff based on bound property name here...
}
所以,以我的Name
专栏为例......它是一个DataGridTemplateColumn
(因为它有一个图像和其他一些东西)。因此,它实际上并没有绑定到“名称”属性......但我想这样做,这样上面的代码就可以工作了。
我的问题分为两部分,真的:
是否可以
DataGridTemplateColumn
进行绑定,以便上面的代码可以工作?我可以以某种方式将其绑定到属性吗?还是我需要完全不同的东西,并更改上面的代码?
提前致谢!
在