是否可以订阅 ObservableCollection 上的 CollectionChanged 事件?

Is it possible to subscribe to the CollectionChanged event on an ObservableCollection?

我有一个 ObservableCollection,我想在集合更改时做一些事情。

private ObservableCollection<myType> _oc = new ObservableCollection<myType>();

public MyConstructor()
{
    _oc.CollectionChanged += myEventHandler();
}

private System.Collections.Specialized.NotifyCollectionChangedEventHandler myEventHandler()
{
    //myCode
}

但是myEventHandler中的代码没有执行。

我该怎么做?

非常感谢。

您的处理程序的签名似乎不正确。你能试试这样吗:

private ObservableCollection<myType> _oc = new ObservableCollection<myType>();

public MyConstructor()
{
    _oc.CollectionChanged += CollectionChanged;
}

private void CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
{
    //myCode
}

并且显然要向集合中添加一些内容以便您可以测试该事件。

_oc.Add(new myType());