弱参照と弱イベントパターンを理解しています。
弱いイベントパターンが使用される場所の1つは、コントロールとDataModel間のDataBindingです。DataBindingのプロセス中に、DataModelがINotifyPropertyChangeをサポートしている場合、コントロールはDataModelにイベントを通じて変更についてアドバイスするように要求します。弱いイベントがなければ、DataModelはコントロールにハードリファレンスを保持していました。その参照のため、ウィンドウがGCで使用可能になると同時に、コントロールをGCで使用可能としてマークすることはできませんでした。
Microsoftは、この問題を解決するために弱参照を使用することを決定しました。
提案されたもののような他の選択肢はもっと良くなかっただろうか?
代替案:DataModelへのDataBindingを削除するように要求するために、子UiElementsを渡すコードを使用してウィンドウにIDisposableを実装しますか?その解決策で何が間違っていただろうか?