Получить содержащую строку из CheckBox внутри DataGrid - PullRequest
0 голосов
/ 24 августа 2010

У меня есть DataGrid с автоматически генерируемыми столбцами. В стороне от события AutoColumnsGenerated я добавляю дополнительный столбец. Этот столбец является DataGridTemplateColumn, который включает в себя DataTemplate с его VisualTree, установленным в CheckBox. Я добавляю обработчик в CheckBox.ClickEvent, в котором я буду связывать значение в связанной строке.

Если у меня есть несколько DataGrids, которые построены таким образом, я не знаю, как выяснить, из какого просмотра списка произошло событие click.

Из обработчика события click у меня есть доступ к флажку, но его родитель не установлен. Я также пытался использовать визуальный помощник, но не могу попасть в дерево в правильном месте.

Кто-нибудь знает, как я могу найти соответствующую DataGrid, которая содержит CheckBox, на который нажали?

1 Ответ

2 голосов
/ 24 августа 2010

VisualTreeHelper должен работать.Попробуйте следующий код в обработчике событий:

FrameworkElement fe = sender as FrameworkElement;

while ((fe.GetType() != typeof(DataGrid)) &&
       (fe != null))
{
     fe = VisualTreeHelper.GetParent(fe) as FrameworkElement;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...