के एक संग्रह को जोड़ने से मैं ObservableCollection<T>
संग्रह है, और मैं, मैं कर सकता तत्वों का एक नया संग्रह के साथ सभी तत्वों को बदलना चाहते हैं:फ़ायरिंग कैसे बचें कई बार ObservableCollection.CollectionChanged जब सभी तत्वों की जगह या तत्वों
collection.Clear();
या:
collection.ClearItems();
मैं भीइस्तेमाल कर सकते हैं (btw, इन दो विधियों के बीच अंतर क्या है?)से collection.Add
एक-एक करके, लेकिन यह कई बार
तत्वों का संग्रह जोड़ते समय भी आग लग जाएगा।
संपादित करें:
मैं एक अच्छा पुस्तकालय मिली: Enhanced ObservableCollection with ability to delay or disable notifications लेकिन ऐसा लगता है कि यह Silverlight समर्थन नहीं करता।
यदि आप अन्य संग्रहों का उपयोग करके सभी संग्रहों को पहले संग्रह में बदलना चाहते हैं, तो बस नए को सीधे एक को असाइन नहीं कर सकते हैं? – m4ngl3r
यदि आप ऐसा करते हैं, तो संग्रह स्वयं ही बदला जाएगा, इस स्थिति में आप संग्रह के संदर्भ को खो देंगे, यानी, आपका संग्रह बदल दिया गया ईवेंट चला गया है। –
उस ईवेंट हैंडलर को फिर से सौंपें? – m4ngl3r