Я пытаюсь получить имя свойства, связанного с конкретным 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
(поскольку там есть изображение и некоторые другие вещи). Следовательно, он на самом деле не связан со свойством Name, но я бы хотел, чтобы вышеприведенный код работал.
Мой вопрос состоит из двух частей:
Можно ли сделать DataGridTemplateColumn
ОГРАНИЧЕННЫМ, чтобы вышеприведенный код работал? Могу ли я связать это как-то с собственностью?
Или мне нужно что-то совершенно другое, и изменить код выше?
Заранее спасибо!
AT