ObservableCollection
INotifyCollectionChanged
और INotifyPropertyChanged
दोनों लागू करता है।पर्यवेक्षण चयन पर लागू किए गए INotifyProperty को लागू करने का उद्देश्य क्या है?
मैं समझता हूँ कि अतिरिक्त, विलोपन (+ स्पष्ट), और वस्तुओं के प्रतिस्थापन संग्रह की घटना
CollectionChanged
के माध्यम से उपभोक्ताओं को दर्ज करना पड़ा हुआ हैं, और मौजूदा आइटम में अपडेट हो सकता है कि आइटम 'ईवेंटPropertyChanged
का उपयोग करके निगरानी की गई है यदि वे स्वयंINotifyPropertyChanged
लागू करते हैं।मैं दूसरों से पढ़ा है कि आप कर सकते हैं संग्रह के घटना
PropertyChanged
पर रजिस्टर क्योंकि यह केवल पढ़ने के लिए है नहीं।
तो अपने उद्देश्य क्या है, क्या उपयोग हम इसे के कर सकते हैं?
टिप्पणियां यहां और वहां पर चर्चा करने के लिए भ्रमित हो रही हैं कि ObservableCollection
का जादू दोनों इंटरफेस को कार्यान्वित करना है, जो संग्रह और वस्तुओं दोनों सामग्री परिवर्तनों के लिए अधिसूचित होने की इजाजत देता है, जबकि यह सही नहीं है (इसे अनदेखा किया जाता है कई उदाहरण जहां संग्रह एक सूची बॉक्स से जुड़ा हुआ है जो वस्तुओं की सामग्री के बाद जादुई रूप से अद्यतन होता है, यह बताता है कि संग्रह सूची बॉक्स को सूचित करता है)।
असल में ऐसा लगता है कि संग्रह की एकमात्र श्रेष्ठता INotifyCollectionChanged
लागू करना है। आइटम संपत्तियों के साथ लेनदेन ObservableCollection
के साथ किसी अन्य संग्रह के मुकाबले आसान नहीं लगता है: यह केवल तभी संभव है जब आइटम INotifyPropertyChanged
लागू करते हैं, जो वे नहीं कर सकते हैं, और यदि उपयोगकर्ता संग्रह से स्वतंत्र रूप से इस घटना पर हुक करने का प्रबंधन करता है।
क्या यह सही है?
जबकि वास्तव में सटीक और संक्षेप में मुझे यकीन नहीं है कि "इसका उद्देश्य क्या है?" क्यू – Andrew
का हिस्सा उद्देश्य ग्राहकों को सूचित करना है कि संग्रह बदल गया है। उस पहलू में यह कलेक्शन चेंजेड इवेंट के समान उद्देश्य प्रदान करता है, लेकिन इनोटिफ़ाईप्रॉपर्टी चेंजेड इनोटिटीकॉलेक्शन चेंज –
की तुलना में अधिक व्यापक रूप से समर्थित है जैसे कुछ संग्रह की गिनती से जुड़ा हुआ है .. – dan