update.Xamarin.FormsでViewModelを使っている場合、そのページが破棄されたタイミングでイベントの購読解除等を行うDispose的な処理を書きたいなと思っていてその方法を調べてみました。ページが破棄されるのをStackからページがPopされることとすれば、Popに関するイベントを捉えるのが良さそうです。調べてみるとPushAsyncはNavigationPageのPoppedイベント、PushModalAsyncはApplication.CurrentのModalPoppedイベントで対処できるようです。ViewModelに適当なインターフェースを適用する例としてIDisposableを適用。自作インターフェースでももちろん可。}}NavigationPageのPoppedに登録PopAsyncでPopしたページはNavigationPageのPoppedイベントで拾えるのでNavigationPageのコンストラクタ等で処理を登録しておきます。毎回書くのがめんどうならBaseクラスにでも。};}Application.CurrentのModalPoppedに登録PopModalAsyncでPopしたページはApplication.CurrentのModalPoppedイベントで拾えるのでAppクラスのコンストラクタ等で処理を登録しておきます。};}注意事項PopToRootAsyncを使うと処理対象のページを見失います。PoppedToRootイベントで拾えそうなんですが、そこで拾えるのは直前のページだけで他のページは参照できません。PoppedToRootはPopした後なのでNavigationStackにも残ってません。Popと特定の処理を合わせたい場合はPopToRooTAsyncは使わないようにするか、同様の動きをする機能を独自に実装するしかないと思います。補足iOSではTabbedPageの現在表示中のタブをクリックするとルートページに戻ります。これはPopToRootしているように見えますが実際は1ページずつPopしているようなのでPoppedイベントの方で処理できます。upLoginユーザーは見つかりませんでした。