public override GroupConfiguration SelectGroupConfiguration(int groupLevel, CollectionViewGroup collectionViewGroup, System.ComponentModel.GroupDescription groupDescription)
        {
            if (m_groupConfigurationSelectorItems.Count == 0)
            {
                return(base.SelectGroupConfiguration(groupLevel, collectionViewGroup, groupDescription));
            }

            string fieldName = string.Empty;

            DataGridGroupDescription dataGridGroupDescription = groupDescription as DataGridGroupDescription;

            if (dataGridGroupDescription != null)
            {
                fieldName = dataGridGroupDescription.PropertyName;
            }
            else
            {
                PropertyGroupDescription propertyGroupDescription = groupDescription as PropertyGroupDescription;
                if (propertyGroupDescription != null)
                {
                    fieldName = propertyGroupDescription.PropertyName;
                }
            }

            if (String.IsNullOrEmpty(fieldName) == true)
            {
                return(base.SelectGroupConfiguration(groupLevel, collectionViewGroup, groupDescription));
            }

            FieldNameGroupConfigurationSelectorItem groupConfig = m_groupConfigurationSelectorItems.GetGroupConfigurationSelectorItem(fieldName);

            if (groupConfig != null)
            {
                return(groupConfig.GroupConfiguration);
            }

            return(base.SelectGroupConfiguration(groupLevel, collectionViewGroup, groupDescription));
        }
        public override GroupConfiguration SelectGroupConfiguration(int groupLevel, CollectionViewGroup collectionViewGroup, System.ComponentModel.GroupDescription groupDescription)
        {
            if (m_groupConfigurationSelectorItems.Count == 0)
            {
                return(base.SelectGroupConfiguration(groupLevel, collectionViewGroup, groupDescription));
            }

            LevelGroupConfigurationSelectorItem levelGroupConfig = m_groupConfigurationSelectorItems.GetGroupConfigurationSelectorItem(groupLevel);

            if (levelGroupConfig != null)
            {
                return(levelGroupConfig.GroupConfiguration);
            }

            return(base.SelectGroupConfiguration(groupLevel, collectionViewGroup, groupDescription));
        }