Iユーザーコントロールのコードの次の行を持っている:ユーザーコントロールは破棄されていない
Application.Current.RootVisual.MouseLeftButtonDown += RootClicked;
それは親のUserControlは、もはやGCによって収集や破壊された定義されていないだ場合には、 RootClickedイベントは、もはやアクティブになっていなくても起動します。
私は追加しない場合:
Application.Current.RootVisual.MouseLeftButtonDown -= RootClicked;
を問題はもはや存在しています。
これは何故ですか?明示的にイベントを削除する必要がある機能はありますか?
あなたがのMouseLeftButtonDownイベントにサブスクライブし、アンロードイベントハンドラでのMouseLeftButtonDownイベントを構成解除した後
がアンロードイベントにサブスクライブああ甘い、それが確認された:)私はあなたの答えをstackoverflowできるようにマークします。 – tweetypi