protected override void RestoringVisit(DataGridContext sourceContext, CollectionViewGroup group, object[] namesTree, int groupLevel, bool isExpanded, bool isComputedExpanded) { if (sourceContext != m_rootDataGridContext) { throw new InvalidOperationException("Group does not belong to the root DataGridContext."); } if (groupLevel > m_maxGroupLevel) { return; } GroupNamesTreeKey groupNamesTreeKey = new GroupNamesTreeKey(namesTree); bool wasExpanded; if (m_groupsStateDictionary.TryGetValue(groupNamesTreeKey, out wasExpanded)) { if (wasExpanded) { sourceContext.ExpandGroupCore(group, true); } else { sourceContext.CollapseGroupCore(group, true); } } else if (m_stopAtFirstCollapsedGroup) { sourceContext.CollapseGroupCore(group, true); } }
protected override void RestoringVisit( DataGridContext sourceContext, CollectionViewGroup group, object[] namesTree, int groupLevel, bool isExpanded, bool isComputedExpanded ) { if( sourceContext != m_rootDataGridContext ) throw new InvalidOperationException( "Group does not belong to the root DataGridContext." ); if( groupLevel > m_maxGroupLevel ) return; GroupNamesTreeKey groupNamesTreeKey = new GroupNamesTreeKey( namesTree ); bool wasExpanded; if( m_groupsStateDictionary.TryGetValue( groupNamesTreeKey, out wasExpanded ) ) { if( wasExpanded ) { sourceContext.ExpandGroupCore( group, true ); } else { sourceContext.CollapseGroupCore( group, true ); } } else if( m_stopAtFirstCollapsedGroup ) { sourceContext.CollapseGroupCore( group, true ); } }