У меня есть несколько динамически сгенерированных расширителей, имеющих DataGrid в качестве содержимого и CheckBoxes в DataGrid. Я получил DataGrid со следующим кодом ниже, но не знаю, как получить Expander.
private void ChkBoxDamage_Checked(object sender, RoutedEventArgs e)
{
CheckBox b = (CheckBox)e.Source;
DataGridRow row = b.TemplatedParent.TryFindParent<DataGridRow>();
row.Background = System.Windows.Media.Brushes.Red;
DataGrid dataGrid = b.TemplatedParent.TryFindParent<DataGrid>();
Expander Gridexpanderr = dataGrid.TemplatedParent.TryFindParent<Expander>();
Gridexpanderr.Background = new SolidColorBrush(Colors.Red);
}
Приведенный выше код не изменит цвет фона расширителя.
dataGrid.TryFindParent<Expander>()
напрямую?... - person Pragmateek   schedule 10.08.2014ItemsControl
и правильныхDataTemplate
, а не кучу уродливого процедурного кода. - person Federico Berasategui   schedule 10.08.2014