2011-12-13 13 views
13

संभव डुप्लिकेट:
Listen to changes of dependency propertyनिर्भरता प्रॉपर्टी बदलने के लिए सदस्यता कैसे लें?

मेरी अंग्रेजी के लिए मुझे माफ करना।

मुझे ऐसी कक्षा बनाने की आवश्यकता है जो निर्भरता प्रॉपर्टी बदलने के लिए सब्सक्राइब कर सके और कुछ कार्य करने के लिए इस संपत्ति के नए मूल्य के आधार पर।

इस तरह

:

MyClass obj = new MyClass(); 
obj.Subscribe(TextBox.TextProperty, myTextBox); 

मैं यह कैसे कर सकते हैं?

+0

@ एचबी, ऐसा लगता है। –

उत्तर

24

आसान निर्भरताप्रॉपर्टी डिस्क्रिप्टर क्लास का उपयोग करके इसे करने का एक तरीका यहां है।

var pd = DependencyPropertyDescriptor.FromProperty(TextBox.TextProperty, typeof(TextBox)); 
pd.AddValueChanged(myTextBox, OnTextChanged); 


private void OnTextChanged(object sender, EventArgs e) 
{ 
    ... 
} 
+11

यह दृष्टिकोण स्मृति रिसाव का कारण बनता है (देखें http://agsmith.wordpress.com/2008/04/07/propertydescriptor-addvaluechanged-alternative/) – Lu55

0

इस आलेख पर एक नज़र डालें। http://msdn.microsoft.com/en-us/magazine/cc794276.aspx#id0070111। यह दिखाता है कि परिवर्तित घटनाओं को पाने के लिए डीपीडीस्क्रिप्टर का उपयोग कैसे करें

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