Example #1
0
        /// <summary>
        /// Called when the <see cref="SplitCommand" /> is executed.
        /// </summary>
        /// <param name="parameter">The command parameter.</param>
        private void OnSplitCommandExecuted(object parameter)
        {
            var list = parameter as IList;

            if (list != null)
            {
                // Determine the position of the combined item and remove it.
                int index = MemberTypes.IndexOf(parameter);
                MemberTypes.Remove(parameter);

                // Reset each item in the list and insert it into the specified position.
                var memberTypeSettings = list.OfType <MemberTypeSetting>().Reverse();
                foreach (var memberTypeSetting in memberTypeSettings)
                {
                    memberTypeSetting.EffectiveName = memberTypeSetting.DefaultName;
                    MemberTypes.Insert(index, memberTypeSetting);
                }
            }
        }