如何订阅更改DependencyProperty?

如何订阅更改DependencyProperty?

问题描述:

可能重复:
Listen to changes of dependency property如何订阅更改DependencyProperty?

对不起我的英语水平。

我需要创建一个可以订阅更改DependencyProperty的类,并根据此属性的新值执行某些操作。

像这样:

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

我怎样才能做到这一点?

+0

@ H.B,看起来像。 –

这是使用方便的DependencyPropertyDescriptor类实现它的一种方法。

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

看看这篇文章。 http://msdn.microsoft.com/en-us/magazine/cc794276.aspx#id0070111。它显示了如何使用DPDescriptor获取更改的事件