2011-09-09 9 views
0

あるビューモデルでsubscribeメソッドを使用して、別のビューモデルでパブリッシュイベントをリッスンしています。何らかの理由で、公開メソッドが起動されたときにsubscribeメソッドが複数回実行されることがわかりません(毎回4回)。私は各パブリッシュにブレークポイントを持ち、最初のパブリッシュコール以外には、誰も発砲していません。プリズムイベントアグリゲータを誰が呼び出しているかを確認する方法は?複数のサブスクライブコール

複数のサブスクライブを呼び出すと、コールスタックは変更されません。

複数の通話が登録される原因を突き止めるにはどうすればよいですか?

UPDATE:これは私が見つけたときには「doh」の回答だったことが分かりました。 ViewModelは、テーブル/グリッドの行のビューモデルのコレクションであり、グリッドに追加された行が多いほど、イベントアグリゲータに追加された購読数が増えました。私は、私が欲しくないものを取り除くためにいくつかの購読解除ロジックを実装する必要がありました。

答えて

0

これに依存性注入を使用している場合は、IEventAggregatorを満たし、EventAggregatorにルーティングしてそこにあるすべてのサブスクライブコールを捕捉するダミーラッパークラスを作成できますか?この種の動作はViewModelインスタンシエーションで起こるサブスクリプションで起こり、タブコントロールを引き裂くことができます。

+0

これは質問の答えではありませんが、参考になりました。どうも – Kevin

関連する問題