我有一个静态依赖属性,我需要知道它的值何时发生变化,以便我可以调用回调并在其他地方更新值。现在我不能这样做,因为回调不是静态的,而 Dependency change 事件是。
当 LostFocus 事件触发时,我目前正在使用它,但我更希望在发生更改时将其连接起来。
依赖属性更改通知传入对象。您可以使用它映射到非静态变量:
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...
}
您可能还想在 DependencyProperty 和“其他地方”之间设置一个绑定,如果这只是为了在其他地方获取值。