1

少し混乱しています。INotifyPropertyChanged インターフェイスを実装すると、実際に実行されるコードがわかりません。私が想像しているように、チェーンは次のようになります。

  • 私のクラスは INotifyPropertyChanged=> を実装しています
  • すべてのプロパティのセッターは
    NotifyPropertyChanged メソッドを呼び出します =>
  • PropertyChangedEventHandler
    が呼び出す =>???

そして、どのコードが私のコントロールを再レンダリングするのだろうか. ありがとう。

4

1 に答える 1

1

コントロールは、バインド時にイベントをサブスクライブします。イベントを発生させると、コントロールは、変更されたプロパティが対象のプロパティの 1 つであるかどうかを確認します。そうである場合、プロパティの新しい値を取得し、それ自体を再レンダリングします。

もちろん、ハンドラーはコントロールの再レンダリングを行う必要はありません。ハンドラーはでもできます。これは、「プロパティ X の値が変更されました... それが気になる場合は、何かをしてください」という言い方にすぎません。他のイベント ハンドラーと同様に、独自のハンドラーを非常に簡単に追加できます。

于 2010-09-28T08:57:29.160 に答える