मैंने ऑब्जर्जेबल कोलेक्शन के लिए एक रैपर संग्रह बनाया है जो प्रत्येक आइटम की सदस्यता लेता है PropertyChanged ईवेंट और इसे अपने स्वयं के ईवेंट के रूप में पुनर्स्थापित करता है ItemPropertyChanged। मैंने इसे here वर्णित करने के लिए एक समान विधि का उपयोग करके किया। क्या कोई बेहतर तरीका है? क्या मैं एक और .NET संग्रह खो रहा हूं जिसमें पहले से ही इस प्रकार का व्यवहार है?एक पर्यवेक्षित चयन में किसी भी आइटम की PropertyChanged घटना को सुनें <INotifyPropertyChanged>
उत्तर
स्टैक ओवरफ्लो पर इसके बारे में पहले से ही एक पोस्ट था। यह एक नए संग्रह प्रकार का त्वरित कार्यान्वयन भी प्रदान करता है जो इसे काम करने के लिए एक घटना का खुलासा करता है।
लिंक देखें: ObservableCollection that also monitors changes on the elements in collection
सहमत हुए, मैं संग्रह में प्रत्येक बच्चे के आइटम की सदस्यता लेने के बजाय 'बेहतर' तरीका ढूंढ रहा था। – chilltemp
मैं यह सोचते हैं रहा है कि आप एक समग्र गणना करने के लिए इस घटना में सक्रिय हो रहे हैं। मेरे पास इस समस्या का एक अलग समाधान है। Update Controls with linq का उपयोग करने पर विचार करें। आप अपने समग्र रूप से linq के साथ वर्णन कर सकते हैं, और अद्यतन नियंत्रण आपके संग्रह में अपनी निर्भरताओं को ट्रैक करेंगे। जब भी संग्रह बदलता है, या किसी भी संदर्भित गुणों में परिवर्तन होता है, तो यह कुल का पुनर्मूल्यांकन करेगा।
बस इसके बजाय System.ComponentModel.BindingList<T>
का उपयोग करें। ListChanged
घटना जब यह सूची में किसी भी आइटम को INotifyPropertyChanged
पर आग लगती है तो यह आग लग जाएगी।
- 1. किसी भी प्रकार की सूची को <T> (सी #)
- 2. Winforms में किसी भी घटना को कैसे रद्द करें?
- 3. किसी भी बंदरगाह पर प्रसारण पैकेट के लिए कैसे सुनें?
- 4. किसी आइटम को
- 5. किसी भी घटना की आमंत्रण सूची कैसे प्राप्त करें
- 6. किसी को भी कभी फ्लिप (<$>)
- 7. किसी भी <T>
- 8. jQuery स्वत: पूर्ण: घटना-चयन
- 9. एक अमूर्त विधि कैसे सुनें?
- 10. किसी अन्य एप्लिकेशन में ईवेंट के लिए सुनें
- 11. घटना "आइटम भेजा" आउटलुक
- 12. एंड्रॉइड में एक प्रतिलिपि कैसे सुनें
- 13. चयन बॉक्स में सेटटाइमआउट घटना
- 14. ट्रिडियन - घटना से वर्कफ़्लो में आइटम रखकर
- 15. किसी सूची बॉक्स में टेक्स्टबॉक्स आइटम का चयन सूचीबॉक्स के चयनित आइटम को नहीं बदलता
- 16. परीक्षण ViewModel PropertyChanged घटनाक्रम
- 17. डब्ल्यूपीएफ लिस्टव्यू चयन चयनित घटना
- 18. किसी जेएस फ़ंक्शन को कॉल करने के लिए डेटपिकर jquery की घटना का चयन करें?
- 19. LINQ: किसी भी सूची में आइटम को एक सूची में कैसे प्राप्त करें?
- 20. WPF PropertyChanged ईवेंट की सदस्यता कब लेता है?
- 21. एंड्रॉइड स्पिनर आग घटना जब एक ही आइटम चयन किया जाता है
- 22. सूची <T> की शुरुआत में आइटम कैसे जोड़ें?
- 23. क्रॉस-डोमेन छवि अनुरोधों पर किसी भी 301/302 रीडायरेक्ट स्थिति कोड को कैसे सुनें?
- 24. किसी आइटम को DEQUE
- 25. एंड्रॉइड - एक अक्षम बटन को सुनें
- 26. संपर्क डेटाबेस में परिवर्तनों को कैसे सुनें
- 27. PowerShell में किसी सरणी से आइटम को कैसे निकालें?
- 28. किसी भी शाखा में किसी भी शाखा में मौजूद किसी भी शाखा को सूचीबद्ध करें
- 29. किसी आइटम में आइटम के ZIndex को संशोधित करें
- 30. किसी को भी MSIINV.EXE की एक प्रति मिली है?
ऐसा लगता है कि यह बहुत महंगा हो सकता है, कहें, एक बहुत बड़ा संग्रह बनाना। मुझे आशा है कि एक बेहतर विकल्प होगा। – kbrimington
ऐसा कोई नहीं है जिसे मैंने देखा है। – bporter
मानक INotifyPropertyChanged/ICollectionChanged इंटरफेस का उपयोग करने के बजाय अपना स्वयं का ईवेंट बनाने का उद्देश्य क्या है? – Goblin