7

我有一个静态依赖属性,我需要知道它的值何时发生变化,以便我可以调用回调并在其他地方更新值。现在我不能这样做,因为回调不是静态的,而 Dependency change 事件是。

当 LostFocus 事件触发时,我目前正在使用它,但我更希望在发生更改时将其连接起来。

4

2 回答 2

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... 
}
于 2012-08-10T17:52:07.480 回答
1

您可能还想在 DependencyProperty 和“其他地方”之间设置一个绑定,如果这只是为了在其他地方获取值。

于 2012-08-12T08:12:36.140 回答