如何订阅DependencyProperty更改通知

twr*_*eid 7 c# wpf

我有一个静态依赖属性,我需要知道它的值何时更改,以便我可以调用回调并更新其他值.现在我不能这样做,因为回调不是静态的,而且依赖关系改变事件是.

当LostFocus事件触发时,我现在正在使用它,但是我希望每当发生更改时都将它连接起来.

Ree*_*sey 16

依赖项属性更改通知在对象中传递.您可以使用它来映射到非静态变量:

static void OnThePropChanged(DependencyObject obj, DependencyPropertyChangedEventArgs args)
{
     YourClass instance = (YourClass)obj;
     instance.ThePropChanged(args); // Call non-static

     // Alternatively, you can just call the callback directly:
     // instance.CallbackMethod(...)
}

// This is a non-static version of the dep. property changed event
void ThePropChanged(DependencyPropertyChangedEventArgs args)
{
      // Raise your callback here... 
}
Run Code Online (Sandbox Code Playgroud)