private static void OnParentDataGridControlChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e) { var self = sender as HierarchicalGroupLevelIndicatorPane; if (self == null) { return; } var dataGridControl = e.OldValue as DataGridControl; if (dataGridControl != null) { DetailsChangedEventManager.RemoveListener(dataGridControl, self); } dataGridControl = e.NewValue as DataGridControl; //register to the parent grid control's Items Collection GroupDescriptions Changed event if (dataGridControl != null) { self.PrepareDefaultStyleKey(dataGridControl.GetView()); DetailsChangedEventManager.AddListener(dataGridControl, self); self.InvalidateMeasure(); } }
private static void OnParentDataGridControlChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e) { HierarchicalGroupLevelIndicatorPane self = sender as HierarchicalGroupLevelIndicatorPane; if (self != null) { DataGridControl grid = e.OldValue as DataGridControl; //unsubsribe from the old DataGridControl (the GLIP was disconnected) if (grid != null) { DetailsChangedEventManager.RemoveListener(grid, self); } grid = e.NewValue as DataGridControl; //register to the parent grid control's Items Collection GroupDescriptions Changed event if (grid != null) { self.PrepareDefaultStyleKey(grid.GetView()); DetailsChangedEventManager.AddListener(grid, self); self.InvalidateMeasure(); } } }