How to subscribe to change DependencyProperty?

Kovpaev Alexey picture Kovpaev Alexey · Dec 13, 2011 · Viewed 9.2k times · Source

Possible Duplicate:
Listen to changes of dependency property

Excuse me for my English.

I need to create a class that could subscribe to change DependencyProperty, and depending on the new value of this property to perform some action.

Like this:

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

How can I do this?

Answer

Marty picture Marty · Dec 13, 2011

Here is one way of doing it, using the handy DependencyPropertyDescriptor class.

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


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