मुझे एक ObservableCollection<A> a_collection;संग्रह मिला है जिसमें 'n' आइटम हैं। प्रत्येक आइटम इस तरह दिखता है:
public class A : INotifyPropertyChanged
{
public ObservableCollection<B> b_subcollection;
Thread m_worker;
}
मूल रूप से, यह सब WPF लिस्टव्यू + डिटेल्स व्यू कंट्रोल, जो b_subcollectionचयनित आइटम को एक अलग लिस्टव्यू में दिखाता है (2-वे बाइंडिंग, प्रॉपर्टीचार्ज आदि पर अपडेट)।
मेरे लिए समस्या तब दिखाई दी जब मैंने थ्रेडिंग को लागू करना शुरू किया। संपूर्ण विचार यह था कि इसका पूरा a_collectionउपयोग श्रमिक सूत्र "काम करने" के लिए करें और फिर अपने संबंधित को अपडेट करें b_subcollectionsऔर वास्तविक समय में परिणाम दिखाए।
जब मैंने इसकी कोशिश की, तो मुझे यह कहते हुए एक अपवाद मिला कि केवल डिस्पैचर थ्रेड एक ऑब्जर्वेबल कॉलेक्शन को संशोधित कर सकता है, और काम रुक गया।
किसी को भी समस्या की व्याख्या कर सकते हैं, और इसे कैसे प्राप्त करें?