をautofac
と使用しており、ビュー間の移動に問題があります。私が持っているのは、私が残しておきたいときだけ、私が残しておきたいビューです。次回は、このビューの新しいバージョンを作成したいと思います。Prism Request新しいビューに移動
負荷で、私は次のコードを持っているIModule
を、会員登録を
_regionManager.RegisterViewWithRegion(RegionNames.MainRegion,
typeof(DxfDisplay.Views.DxfDisplay));
これは私のビューを登録し、システムが初期負荷で動作し、私は、ビューモデルのINavigationAware
とIRegionMemberLifetime
インタフェースを実装し、実装public bool KeepAlive => false;
を持っていますIRegionMemberLifetime
私の意見は私が終わったときに処分されるように。
私は離れて、このビューから移動すると、すべてが大丈夫ですが、私はビューが開かれていないと、ビューモデルのコンストラクタが呼び出されない
_regionManager.RequestNavigate(RegionNames.MainRegion,
new Uri("DxfDisplay", UriKind.Relative), parameters);
を使用して、ビューにナビゲートするナビゲートしようとしたとき。ナビゲーションが正しく機能するようにするには、再度リージョンでビューに登録する必要があります。または、KeepAliveをtrue
に変更すると元のビューに戻ることができますが、INavigationAware.IsNavigationTarget
がfalseを返した場合は新しいビューを生成できません。
私の質問は、_regionManager.RequestNavigate
を呼び出すと、ビューの新しいインスタンスを作成して表示するように、リージョンマネージャにビューを登録する方法です。私は何かをシンプルに見逃しているように感じ、ただ見落としています。
ありがとうございます。拡張メソッドの名前空間を決して見ないでください。私はそれが容易でなければならないことを知っていた。 –