从CollectionChanged事件更改集合

时间:2010-07-15 12:27:27

标签: silverlight events exception observablecollection

我希望在更改后更新集合,但我似乎无法远离此异常:

在CollectionChanged或PropertyChanged事件期间无法更改ObservableCollection。

内部事件处理程序我在更改任何内容之前取消订阅Collection更改事件以防止无限循环,并且在更改之后我再次订阅同一事件。

private void CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
{
    data.CollectionChanged -= CollectionChanged;
    data.Add("Item");
    data.CollectionChanged += CollectionChanged;
}

我尝试使用Dispatcher来调用data.Add(“Item”),但没有运气:(

1 个答案:

答案 0 :(得分:1)

问题是您要取消订阅事件中尚未完成的事件。退回并重新评估您为什么要添加到集合中,并确定是否有其他方法可以完成您的需要。