2009-08-26 5 views
8

私は私の窓の分離コードにINotifyPropertyChangedインタフェースWPFはいつPropertyChangedイベントに登録しますか?

を実装ObservableCollection財産、とClassAを持っている私は、ClassA variableを宣言し、main()メソッドでそれを初期化してきました。

私はvariable.PropertyChangedは、WPFのイベントは、それに配線なければならないことを期待したいが、どうやらPropertyChangedイベントは、あなたのオブジェクトにバインドする場合、WPFは、PropertyChangedイベントをサブスクライブしますヌル

答えて

9

まま。これは、データバインディングが動作する中心的な方法です。

実際にはPropertyChangedEventManagerで、これはWPFのWeakEvent patternを使用して行われます。

+0

...バインディングが破棄されたときに、WPFにもしたがって、回避(退会しますメモリリーク)? –

+1

@NéstorSanchezA弱いイベントパターンを使用してメモリリークを回避します。一般に、WPFバインディングのためにリークの問題が発生することはありません。 –

1

これは正確にあなたの質問に答えるかどうか分かりませんが、私は同様の経験をしており、それについてはhereとブログしています。基本的に

、のPropertyChangedイベントが戻ってUIに得ることができるように、結合が発生したときのDataContextがnullでないことを確認してください...だから