Mam ObservableCollection<A> a_collection;
. Kolekcja zawiera „n” elementów. Każdy element A wygląda następująco:
public class A : INotifyPropertyChanged
{
public ObservableCollection<B> b_subcollection;
Thread m_worker;
}
Zasadniczo wszystko jest podłączone do widoku listy WPF + kontrolka widoku szczegółów, która pokazuje b_subcollection
wybrany element w oddzielnym widoku listy (powiązania dwukierunkowe, aktualizacje w ramach zmiany właściwości itp.).
Problem pojawił się, gdy zacząłem wdrażać gwintowanie. Cały pomysł polegał na tym, aby cały a_collection
wątek roboczy "wykonywał pracę", a następnie aktualizował odpowiednie b_subcollections
i wyświetlał wyniki w interfejsie GUI w czasie rzeczywistym.
Kiedy go wypróbowałem, wystąpił wyjątek, który mówi, że tylko wątek Dispatcher może modyfikować ObservableCollection i praca została zatrzymana.
Czy ktoś może wyjaśnić problem i jak go obejść?