Как я обновляю ObservableCollection через рабочий поток?

Я имею ObservableCollection<A> a_collection; Набор содержит 'n' объекты. Каждый объект взгляды как это:

public class A : INotifyPropertyChanged
{

    public ObservableCollection<B> b_subcollection;
    Thread m_worker;
}

В основном это все соединено проводом до WPF listview + управление представлением деталей, которое показывает b_subcollection из выбранного пункта в отдельном listview (привязка с 2 путями, обновления на propertychanged и т.д.).

Проблема собралась для меня, когда я начал реализовывать поточную обработку. Вся идея состояла в том, чтобы иметь целое a_collection используйте это - рабочий поток, чтобы "сделать работу" и затем обновить их соответствующее b_subcollections и имейте шоу gui результаты в режиме реального времени.

Когда я попробовал его, я получил исключение, говоря, что только поток Диспетчера может изменить ObservableCollection, и работа остановилась.

Кто-либо может объяснить проблему, и как обойти ее?

71
задан ASh 24 October 2019 в 12:27
поделиться