public bool SetElement(IConfigurationItemViewModel element, bool isUp)
        {
            if (ChildStructItemViewModels.Contains(element))
            {
                int  moveIndexFrom = ChildStructItemViewModels.IndexOf(element as IEditorConfigurationItemViewModel);
                int  moveIndexTo;
                bool valid = false;
                if (isUp)
                {
                    moveIndexTo = moveIndexFrom - 1;
                    valid       = (moveIndexTo >= 0) && (moveIndexFrom > 0);
                }
                else
                {
                    moveIndexTo = moveIndexFrom + 1;
                    valid       = moveIndexFrom < ChildStructItemViewModels.Count - 1;
                }
                if (valid)
                {
                    element.Checked?.Invoke(false);
                    ChildStructItemViewModels.Move(moveIndexFrom, moveIndexTo);
                    //}
                    this.Checked?.Invoke(false);
                    this.Checked?.Invoke(true);
                    return(true);
                }
                else
                {
                    throw new Exception("invalid data input");
                }
            }

            return(false);
        }
        public bool GetIsSetElementPossible(IConfigurationItemViewModel element, bool isUp)
        {
            if (ChildStructItemViewModels.Contains(element))
            {
                int startIndex = ChildStructItemViewModels.IndexOf(element as IEditorConfigurationItemViewModel);
                return(isUp ? startIndex > 0 : ChildStructItemViewModels.Count - 1 > startIndex);
            }

            return(false);
        }
        public bool GetIsSetElementPossible(IConfigurationItemViewModel element, bool isUp)
        {
            if (ChildStructItemViewModels.Contains(element))
            {
                if (isUp)
                {
                    if (ChildStructItemViewModels.IndexOf(element as IEditorConfigurationItemViewModel) >
                        0)
                    {
                        return(true);
                    }
                }
                else
                {
                    if (ChildStructItemViewModels.IndexOf(element as IEditorConfigurationItemViewModel) <
                        ChildStructItemViewModels.Count - 1)
                    {
                        return(true);
                    }
                }
            }

            return(false);
        }