私はタブレット/デスクトップアプリに取り組んでおり、現在、ネストされた LoadViewModel 呼び出しの問題に直面しています:
一部のビュー/ビューモデルはライブ データを表示します。ネットワーク接続がない場合は、別の「オフライン」ビューモデルがあり、ライブ ビューモデルによってロードされ、再びオンラインになると閉じます。「ライブ」ビューモデルが読み込まれるときにオフラインでない限り、これは正常に機能します。この場合、「ライブ」ビューモデルの初期化中に「オフライン」ビューモデルをロードしようとしています。残念ながら、「オフライン」ビューが最初に表示され、続いて「ライブ」ビューが表示されます (LoadViewModel が where を逆の順序で呼び出す場合でも)。これらのビューは同じウィンドウ領域に表示されるため、「オフライン」ビューの代わりに「ライブ」ビューが表示されます。
別の場所には、典型的なマスター詳細インターフェースがあります。そこで私はまったく同じ問題に遭遇しました。マスター ビューのリスト エントリを事前に選択しようとすると、対応する詳細ビューの LoadViewModel 呼び出しが論理的に発生します。ここでも、マスター ビューが読み込まれる前に詳細ビューが読み込まれます。マスター ビューは詳細ビューのコンテナーとして機能するため、これは私のプレゼンターにとって問題です (Stuard の例で使用されている MultiRegionPresenter を使用すると、これは機能しますが、常に同じ数のサブを持つとは限らない詳細ビューモデルを持つことはできません)。 -viewmodels.)
多分私は何か間違っていて、これを行うためのより良い方法はありますか? または、LoadViewModel が呼び出されたのと同じ順序でビューが読み込まれるようにする簡単な方法はありますか?
編集: すべての迅速な返信に感謝します!例としては、Twitter 検索の例 ( https://github.com/MvvmCross/MvvmCross-Tutorials/tree/master/Sample%20-%20TwitterSearch ) から始めるのが最適です。 HomeViewModel のコンストラクターを SearchCommand() を呼び出すように変更し、TwitterSearch.UI.Wpf プロジェクトの MultiRegionPresenter の Present(...) 内にブレークポイントを配置すると、 HomeViewModel が最初にロードされたモデルであったにもかかわらず、最初に TwitterView (これは私たちの「詳細ビュー」です) のブレークポイントにヒットしました.