7

静的依存プロパティがあり、その値がいつ変更されるかを知る必要があるため、コールバックを呼び出して、他の場所で値を更新できます。現在、コールバックは静的ではなく、依存関係の変更イベントは静的であるため、これを行うことはできません。

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と"elsewhere"の間にバインディングを設定することもできます。これは、他の場所で値を取得することだけを目的としている場合です。

于 2012-08-12T08:12:36.140 に答える