【问题标题】:How to subscribe to change DependencyProperty? [duplicate]如何订阅更改 DependencyProperty? [复制]
【发布时间】:2012-01-18 22:55:15
【问题描述】:

可能重复:
Listen to changes of dependency property

对不起,我的英语不好。

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

像这样:

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

我该怎么做?

【问题讨论】:

    标签: c# .net wpf dependency-properties


    【解决方案1】:

    这是一种方法,使用方便的 DependencyPropertyDescriptor 类。

     var pd = DependencyPropertyDescriptor.FromProperty(TextBox.TextProperty, typeof(TextBox));
     pd.AddValueChanged(myTextBox, OnTextChanged);
    
    
     private void OnTextChanged(object sender, EventArgs e)
     {
         ...
     }
    

    【讨论】:

    • 这种方法会导致内存泄漏(见agsmith.wordpress.com/2008/04/07/…
    • 如果通过 RemoveValueChanged() 删除处理程序,或者对象与开始的进程一样长,则不会泄漏。谨慎使用。
    猜你喜欢
    • 1970-01-01
    • 2018-02-21
    • 2023-03-26
    • 2016-12-03
    • 2018-12-13
    • 1970-01-01
    • 2015-04-10
    • 2022-01-20
    • 1970-01-01
    相关资源
    最近更新 更多