Beispiel #1
0
        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();
            }
        }
Beispiel #2
0
        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();
                }
            }
        }