Почему отменяется подписка на событие - C#

Узнай цену своей работы

Формулировка задачи:

Есть WPF окно и не стандартный контрол ColorPicker. Дописал событие OnChange которое происходит при движении мыши (в обработчике MouseMove). Вот само событие:
    public delegate void ChangedEventHandler(object sender, EventArgs e);
    public event ChangedEventHandler Changed;
 
    private void OnChanged(EventArgs e)
    {
        if (Changed != null)
            Changed(this, e);
    }
 
    //а тут оно должно возникать
    public void CanvasImage_MouseMove(object sender, MouseEventArgs e)
    {
      if (IsMouseDown) UpdateColor();
      OnChanged(null);
    }
Когда начинаю шевелить мышью или сам вызываю CanvasImage_MouseMove то почему-то Changed стает равно null. Помогите разобраться в чем дело.

Решение задачи: «Почему отменяется подписка на событие»

textual
Листинг программы
CP = new ColorPicker();
colorGrid.Children.Add(CP); //Добавляю его в Grid
CP.Changed += new ColorPicker.ChangedEventHandler(ColorPicker_Changed);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.222 из 5
Похожие ответы