Я пытаюсь получить имя свойства, связанного с конкретным 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
... it a DataGridTemplateColumn
(так как у него есть изображение и некоторые другие вещи там). Поэтому он фактически не связан с свойством "Имя"... но я хотел бы быть таким, чтобы этот код работал.
Мой вопрос - двухчастный, действительно:
-
Можно ли сделать
DataGridTemplateColumn
BOUND, чтобы приведенный выше код работал? Можно ли каким-либо образом привязать его к свойству? -
Или мне нужно что-то совершенно другое и изменить код выше?
Спасибо заранее!
в