Próbuję uzyskać nazwę właściwości związanej z konkretną DataGridColumn
, tak że mogę następnie zrobić pewne rzeczy na podstawie tego. Ta funkcja jest wywoływana, gdy użytkownik kliknie pozycję menu kontekstowego w nagłówku kolumny ...WPF - jak powiązać DataGridTemplateColumn
Jest to przydatne w przypadku gotowych, gotowych typów kolumn, takich jak DataGridTextColumn
, ponieważ są one związane, ale problem jest to, że niektóre z moich kolumn są DataGridTemplateColumns
, które nie są związane.
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...
}
Więc Weźmy na przykład mój Name
kolumnę ... to DataGridTemplateColumn
(ponieważ ma obraz i kilka innych rzeczy w tam). Dlatego nie jest w rzeczywistości związany z właściwością "Nazwa" ... ale chciałbym być, aby powyższy kod działał.
Moje pytanie jest dwuczęściowa, naprawdę:
Czy to możliwe, aby
DataGridTemplateColumn
związanie tak, że powyższy kod będzie działać? Czy mogę jakoś powiązać to z nieruchomością?Czy potrzebuję czegoś zupełnie innego i zmienić powyższy kod?
Z góry dziękuję!
AT