Tôi có một ObservableCollection<A> a_collection;
Bộ sưu tập chứa 'n' mục. Mỗi mục A trông như thế này:
public class A : INotifyPropertyChanged
{
public ObservableCollection<B> b_subcollection;
Thread m_worker;
}
Về cơ bản, tất cả được kết nối với một chế độ xem danh sách WPF + một điều khiển chế độ xem chi tiết hiển thị b_subcollection
mục đã chọn trong một chế độ xem danh sách riêng biệt (liên kết 2 chiều, cập nhật về thuộc tính được thay đổi, v.v.).
Vấn đề xuất hiện đối với tôi khi tôi bắt đầu triển khai luồng. Toàn bộ ý tưởng là a_collection
sử dụng toàn bộ luồng công nhân của nó để "thực hiện công việc" và sau đó cập nhật tương ứng của họ b_subcollections
và để gui hiển thị kết quả trong thời gian thực.
Khi tôi thử nó, tôi nhận được một ngoại lệ nói rằng chỉ luồng Dispatcher mới có thể sửa đổi ObservableCollection và công việc tạm dừng.
Bất cứ ai có thể giải thích vấn đề, và làm thế nào để giải quyết vấn đề?