Изменение коллекции из события CollectionChanged - PullRequest
3 голосов
/ 15 июля 2010

Я хочу обновить коллекцию после того, как она была изменена, но я не могу отойти от этого исключения:

Невозможно изменить ObservableCollection во время события CollectionChanged или PropertyChanged.

Внутри обработчика событий я отменяю подписку на событие Изменения в коллекции, прежде чем что-либо менять, чтобы предотвратить бесконечные циклы, и после внесения изменений я снова подписываюсь на одно и то же событие.

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

Я пытался использовать Dispatcher для вызова данных.Добавить («Предмет»), но не повезло: (

1 Ответ

1 голос
/ 15 июля 2010

Проблема в том, что вы отменили подписку на событие, которое еще не завершено. Отойдите назад и заново оцените, почему вы добавляете в коллекцию, и определите, есть ли другой способ выполнить то, что вам нужно.

...