静的依存プロパティがあり、その値がいつ変更されるかを知る必要があるため、コールバックを呼び出して、他の場所で値を更新できます。現在、コールバックは静的ではなく、依存関係の変更イベントは静的であるため、これを行うことはできません。
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と"elsewhere"の間にバインディングを設定することもできます。これは、他の場所で値を取得することだけを目的としている場合です。