これは、アプリケーションのセットアップ方法と、使用している標準/パターンに大きく依存すると思います。MVVM には 2 つのアプローチがあります。
View-First
View-Model がビューに挿入されている場合は、メッセージをビューに送信し、View にそれをどう処理するかを決定させます。それら自体を表示したい場合は、それを行うことができます。それらをシェルに送信したい場合は、イベント アグリゲーターまたは Toast サービス インターフェイスを挿入することで送信できます。これにより、ビューがビジュアルを制御し続けます。
View-Model-First
View が View-Model に挿入される場合、View Model は別の View を要求する必要があり、それは独自の View Model にバインドされる必要があります。別のビュー モデルにメッセージを送信する場合は、イベント アグリゲーターを使用するか、Toast ビュー モデル/サービス インターフェイスを挿入します。これにより、View-Model がビュー間のナビゲーションを制御できるようになります。
ビューがモデルの視覚化を制御できるようにするため、私は View-First アプローチを好みます。しかし、他の MVVM 開発者がこれにどのように取り組んでいるかに非常に興味があります。これは、MVVM View-First アプローチでダイアログを表示する方法の問題と非常に密接に一致しているようです。