C# 如何订阅更改DependencyProperty?

C# 如何订阅更改DependencyProperty?,c#,.net,wpf,dependency-properties,C#,.net,Wpf,Dependency Properties,可能重复: 请原谅我的英语 我需要创建一个类,该类可以订阅ChangeDependencyProperty,并根据该属性的新值执行一些操作 像这样: MyClass obj = new MyClass(); obj.Subscribe(TextBox.TextProperty, myTextBox); 如何实现这一点?这里有一种方法,使用方便的DependencyPropertyDescriptor类 var pd = DependencyPropertyDescriptor.FromPr

可能重复:

请原谅我的英语

我需要创建一个类,该类可以订阅ChangeDependencyProperty,并根据该属性的新值执行一些操作

像这样:

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)
 {
     ...
 }

如果通过RemoveValueChanged()删除处理程序,或者如果对象的寿命与开始的进程一样长,这种方法会导致内存泄漏(请参阅)无泄漏。明智地使用。