如何订阅更改DependencyProperty?
问题描述:
可能重复:
Listen to changes of dependency property如何订阅更改DependencyProperty?
对不起我的英语水平。
我需要创建一个可以订阅更改DependencyProperty的类,并根据此属性的新值执行某些操作。
像这样:
MyClass obj = new MyClass();
obj.Subscribe(TextBox.TextProperty, myTextBox);
我怎样才能做到这一点?
答
这是使用方便的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获取更改的事件
@ H.B,看起来像。 –