@govnokoder

Почему падает NotSupportedException в циклах?

Внутри циклов (и foreach, и for, и while) выпадает исключение NotSupportedException с описанием:
"Данный тип CollectionView не поддерживает изменения в своем SourceCollection из потока, отличного от потока Dispatcher."
В foreach - обычный список List<>, в for и while никаких CollectionView вообще быть не должно. Что это может быть?
  • Вопрос задан
  • 3177 просмотров
Пригласить эксперта
Ответы на вопрос 2
Вы пытаетесь изменять коллекцию (удалять?) которая не предполагает удаления в том месте где Вы это делаете. Код цикла который эксептит? место где он размещен? обработчик событий UI потока?
Ответ написан
lam0x86
@lam0x86
CollectionView создается в WPF автоматически при байндинге коллекций, так что тут ничего странного. Проблема, скорее всего, в том, что вы изменяете вашу коллекцию не из UI потока, например, создав Task и не указав Scheduler, либо используете таймер, отличный от DispatcherTimer, и т. д. Самым простым способом решения проблемы будет обернуть код, изменяющий коллекцию, в вызов Dispatcher.Invoke(...). Главное - указать правильный Dispatcher - его можно получить из любого контрола окна.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы