private void КомандаДобавить_Click(object sender, RoutedEventArgs e)
        {
            var вставляемыйОбъект = new Пустота();

            Группа.Добавить(вставляемыйОбъект);

            var вид = ВыбратьВид(вставляемыйОбъект);

            СписокВидов.Add(вид);
        }
        protected virtual void ВидГруппаОбъектов_KeyUp(object sender, KeyEventArgs событие)
        {
            if (событие.Key == Key.Up)
            {
                if (_номерВыбранногоЭлемента != -1)
                {
                    НомерВыбранногоЭлемента--;
                }
            }

            if (событие.Key == Key.Down)
            {
                if (_номерВыбранногоЭлемента < Группа.Список.Count - 1)
                {
                    НомерВыбранногоЭлемента++;
                }
            }
            if (событие.Key == Key.Enter)
            {
                var группа = this[_номерВыбранногоЭлемента + 1] as ВидГруппаОбъектов;
                if (группа != null)
                {
                    группа.Фокус();
                    //группа.Редактируемый=true;
                    //группа.ВыбранныйЭлемент.Фокус();
                }
            }
            if (событие.Key == Key.Escape)
            {
                var родитель = ВидРодитель as ВидГруппаОбъектов;
                if (родитель != null)
                {
                    родитель.Фокус();
                }
            }

            if (событие.Key == Key.Insert)
            {
                // здесь выбирается какой элемент вставить

                var вставляемыйОбъект = new Пустота(); // тутможно вытавить выбор из Списка видов

                if (НомерВыбранногоЭлемента == -1)
                {
                    _номерВыбранногоЭлемента = 0;
                }
                Группа.Вставить(_номерВыбранногоЭлемента, вставляемыйОбъект);

                var вид = ВыбратьВид(вставляемыйОбъект); // нужно различать вставляемые группы и невставляемые

                //if(ЭтоПустаяГруппа) СписокВидов.Clear();

                Панель.Children.Insert(_номерВыбранногоЭлемента + 1, вид);
                for (int и = _номерВыбранногоЭлемента + 2; и < Группа.Список.Count + 1; и++)
                {
                    var вид2 = (ОбщийВид)СписокВидов[и];
                    вид2.ОбновитьВид();
                }
                НомерВыбранногоЭлемента++;
                //Focus();

                событие.Handled = true;//событие обработано Запрет на дальнейшую обработку, можно обойти
            }

            if (событие.Key == Key.Delete)
            {
                if (НомерВыбранногоЭлемента >= -1 &&
                    НомерВыбранногоЭлемента < Группа.Список.Count - 1 && !ЭтоПустаяГруппа)
                {
                    Группа.Удалить(НомерВыбранногоЭлемента + 1);
                    СписокВидов.RemoveAt(НомерВыбранногоЭлемента + 2);

                    //for (int и = НомерВыбранногоЭлемента+2; и < Группа.Список.Count+1; и++)
                    //{
                    //    var вид = (ОбщийВид) СписокВидов[и];
                    //    вид.ОбновитьВид();
                    //}
                }
                //if (ЭтоПустаяГруппа) СписокВидов.Add(ВидПустогоСписка);
            }
        }