protected int _номерВыбранногоЭлемента = -1;    // может быть -1, если Группа пуста

        public ВидГруппаОбъектов()
        {
            //ВидПустогоСписка = new ВидКурсорВставки
            //{
            //    Тип = ВидКурсорВставки.ТипКурсора.Вертикальный,
            //    ВидРодитель = this
            //};
            ВидПустогоСписка = new ВидСимвола()
            {
                ВидРодитель = this
            };
            ВидПустогоСписка.ДобавьСодержание(new Символ('+'));

            Focusable = true;

            Content = скрол;

            Панель.CanVerticallyScroll = true;
            //Панель.ScrollOwner = скрол;

            скрол.CanContentScroll            = true;
            скрол.VerticalScrollBarVisibility = ScrollBarVisibility.Auto;
            скрол.Content = Панель;

            //MouseLeftButtonUp += ВидГруппаОбъектов_MouseLeftButtonUp;
            //KeyUp += ВидГруппаОбъектов_KeyUp;
            //MouseRightButtonUp += РеакцияПраваяКнопкаМышиВВерх;
            //PreviewMouseLeftButtonDown += ВидГруппаОбъектов_MouseLeftButtonDown;
        }
        //private void ВидГруппаОбъектов_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        //{
        //    // найти элемент над которым произошло
        //    // или перенести это общий вид он смотрит если родитель группа, то меняет текущий
        //}

        public override void ПроизошлоСобытие(string v, ОбщийВид вид)
        {
            if (v == "леваяКнопкаМыши")
            {
                var номер = Панель.Children.IndexOf(вид);
                НомерВыбранногоЭлемента = номер;
            }
            //base.ПроизошлоСобытие(v,this);
            if (ВидРодитель != null)
            {
                ВидРодитель.ПроизошлоСобытие(v, this);
            }
        }
Example #3
0
 public virtual void ПроизошлоСобытие(string v, ОбщийВид ПредокОткого) // обработка событиий от предков или от родителей
 {
     ;
 }
Example #4
0
 public void ОтписатьсяОтСобытия(ОбщийВид вид, string имяСобытия)
 {
     СписокСобытий.Find(событие => событие.НазваниеСобытия == имяСобытия).СписокПодписанотов.Remove(вид);
 }
Example #5
0
 public void ПодписатьсяНасобытие(ОбщийВид вид, string имяСобытия)
 {
     СписокСобытий.Find(событие => событие.НазваниеСобытия == имяСобытия).СписокПодписанотов.Add(вид);
 }