2009-08-26 12 views
8

मैं एक ObservableCollection संपत्ति के साथ एक ClassA है, कि INotifyPropertyChanged इंटरफ़ेसWPF PropertyChanged ईवेंट की सदस्यता कब लेता है?

अपनी खिड़की codebehind पर

लागू करता है मैं एक ClassA variable घोषणा की है, और विधि मुख्य() में यह आरंभ कर देगा।

मैं उम्मीद थी कि variable.PropertyChanged इसे करने के लिए तार एक WPF घटना के लिए होता है, लेकिन जाहिरा तौर PropertyChanged घटना अशक्त बना हुआ है

उत्तर

9

जब आप अपने वस्तु के लिए बाध्य WPF PropertyChanged घटना की सदस्यता होगा। डाटाबेस काम करता है यह मूल तरीका है।

यह वास्तव में PropertyChangedEventManager के माध्यम से WP12 में WeakEvent pattern का उपयोग करके करता है।

+0

तो ... जब बंधन त्याग दिया जाता है WPF भी सदस्यता समाप्त कर देगा (इसलिए परहेज स्म्रति से रिसाव)? –

+1

@ नेस्टररचेचेज़। यह स्मृति रिसाव से बचने के लिए कमजोर घटना पैटर्न का उपयोग करता है। सामान्य रूप से, आपको WPF बाध्यकारी के कारण रिसाव समस्या नहीं होनी चाहिए। –

1

मुझे यकीन नहीं है कि यह वास्तव में आपके प्रश्न का उत्तर देता है, लेकिन मेरे पास समान अनुभव थे, और इसके बारे में ब्लॉग here था।

मूलतः

, सुनिश्चित करें कि जब बाध्यकारी होता है DataContext रिक्त नहीं है, जैसे कि PropertyChanged घटनाओं वापस यूआई के लिए प्राप्त कर सकते हैं ...

संबंधित मुद्दे