私のアプリケーションにはMVVM Lightが使用されており、ページ間を行き来するためのINavigationServiceも実装されています。ViewModelイベントが複数回発生する
だから一般的なシナリオでは、この
メインページ>カテゴリ>ラウンド>データページのようなものです。
DataPageでは、結果を取得する要求を出しています。コールバックから返された結果に応じて、スタックから現在のページをポップしてラウンドに戻るために.GoBack()メソッドを呼び出します。
私が気付いたのは、DataPageを最初に起動して.GoBack()が呼び出された後、別のラウンドをタップすると、コールバックメソッドが2回呼び出され、3回前に戻るとこのように続けます。
これは、.GoBack()が再び呼び出され、ナビゲーションがうまくいかないことを意味します。
これは以前のVMをクリーンアップしないことと関係していると思いますが、SimpleIOCのUnRegister/Registerクラスでこの動作を変更しようとしましたが、不運です。
あなたが入力したときにイベントをフックしかし、あなたが去るときにそれをアンフックしていないように聞こえます。コールバック内のイベントからコールバックを削除します。 – Slepz
@Slepz私はそれをやろうとしていましたが、別のやり方で、私の提案した答えをチェックし、あなたのコメントを教えてください。 –