internal static GroupConfiguration GetGroupConfiguration(DataGridContext dataGridContext, ObservableCollection <GroupDescription> groupDescriptions, GroupConfigurationSelector groupConfigSelector, int groupLevel, CollectionViewGroup collectionViewGroup) { if (dataGridContext == null) { throw new ArgumentNullException("dataGridContext"); } if (groupDescriptions == null) { throw new ArgumentNullException("groupDescriptions"); } if (groupLevel >= groupDescriptions.Count) { throw new ArgumentException("The specified group level is greater than the number of GroupDescriptions in the DataGridContext.", "groupLevel"); } GroupDescription groupDescription = groupDescriptions[groupLevel]; GroupConfiguration retval = null; DataGridGroupDescription dataGridGroupDescription = groupDescription as DataGridGroupDescription; if ((dataGridGroupDescription != null) && (dataGridGroupDescription.GroupConfiguration != null)) { retval = dataGridGroupDescription.GroupConfiguration; } else if (groupConfigSelector != null) { retval = groupConfigSelector.SelectGroupConfiguration(groupLevel, collectionViewGroup, groupDescription); } if (retval == null) { retval = dataGridContext.DefaultGroupConfiguration; } if (retval == null) { retval = GroupConfiguration.DefaultGroupConfiguration; } return(retval); }
internal static GroupConfiguration GetGroupConfiguration( DataGridContext dataGridContext, ObservableCollection<GroupDescription> groupDescriptions, GroupConfigurationSelector groupConfigSelector, int groupLevel, CollectionViewGroup collectionViewGroup ) { if( dataGridContext == null ) throw new ArgumentNullException( "dataGridContext" ); if( groupDescriptions == null ) throw new ArgumentNullException( "groupDescriptions" ); if( groupLevel >= groupDescriptions.Count ) throw new ArgumentException( "The specified group level is greater than the number of GroupDescriptions in the DataGridContext.", "groupLevel" ); GroupDescription groupDescription = groupDescriptions[ groupLevel ]; GroupConfiguration retval = null; DataGridGroupDescription dataGridGroupDescription = groupDescription as DataGridGroupDescription; if( ( dataGridGroupDescription != null ) && ( dataGridGroupDescription.GroupConfiguration != null ) ) { retval = dataGridGroupDescription.GroupConfiguration; } else if( groupConfigSelector != null ) { retval = groupConfigSelector.SelectGroupConfiguration( groupLevel, collectionViewGroup, groupDescription ); } if( retval == null ) { retval = dataGridContext.DefaultGroupConfiguration; } if( retval == null ) { retval = GroupConfiguration.DefaultGroupConfiguration; } return retval; }