Событие ObservableCollection CollectionChanged не запускается - почему?

Что не так с этим кодом? Нажатие кнопки button1 не приводит к появлению окна messageBox.

public partial class Form1 : Form
{
    public ObservableCollection<string> aCollection2 = new ObservableCollection<string>();
    myClass mc = new myClass();

    public Form1()
    {
        InitializeComponent();

        aCollection2.Add("a");
        aCollection2.Add("b");
    }


    private void button1_Click(object sender, EventArgs e)
    {
        mc.myCollection = aCollection2;
    }

    private void button2_Click(object sender, EventArgs e)
    {
        mc.myCollection.Clear();
    }
}

С определением myClass:

class myClass
{
    public ObservableCollection<string> myCollection = new ObservableCollection<string>();

    public myClass()
    {
        myCollection.CollectionChanged += Changed;
    }

    void Changed(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
    {
        MessageBox.Show(myCollection.Count.ToString());
    }
}

РЕДАКТИРОВАТЬ: Когда я добавляю третью кнопку с:

private void button3_Click(object sender, EventArgs e)
{
    mc.myCollection.Add("a");
}

, отображается messageBox. Как и button2. Но после нажатия кнопки 1 - больше ничего не сработает. Почему?

5
задан ispiro 30 October 2011 в 23:00
поделиться