私はスプラッシュ画面で始まり、開始ビューに変更する必要があるプリズムアプリケーションを持っています。ここで私はこれを達成することを望んだモジュールの初期化メソッドのコードは次のとおりです。アニメーションが完了したときにビューを切り替える
残念ながらpublic void Initialize() {
RegisterViewsAndServices();
//_manager.RegisterViewWithRegion(RegionNames.Content, typeof(ToolboxSplashView));
var vmSplash = _unityContainer.Resolve<IToolboxSplashViewModel>();
IRegion region = _regionManager.Regions[RegionNames.Content];
region.Add(vmSplash.View);
var vmStart = _unityContainer.Resolve<IToolboxStartViewModel>();
region.Deactivate(vmSplash.View);
region.Add(vmStart.View);
}
、私はこれを実行すると、私は唯一のスタートビューを参照してください。開始ビュー(コードの最後の段落)をコメントアウトすると、開始画面とアニメーションが表示されます。アニメーションが完了したことを検出して、スプラッシュビューから開始ビューに変更するにはどうすればよいですか?
ありがとうございました。
OK、私はそのsortofを見ることができます。集計イベントをトリガするのは何ですか?私は私のviewModelでそれをキャッチして、ロードプロセスを終了するためにモジュールに返信しますか?または、私はここでそれをすべてやってもいい? – JimBoone
アニメーションの完成に関連しているので、ビューのコードビハインドにあるように思えます。完了イベント内から集計イベントを発生させます。コントローラクラスはAggregateEventを購読し、必要なコードを実行します。完了したアニメーションの例イベント:http://social.msdn.microsoft.com/Forums/ar/wpf/thread/0b040d2e-155b-4abd-911d-ea7f72784fd0 – michael
完了したイベントについては正解です。イベントハンドラはコードの背後にあります。私はあなたの集計イベントのアイデアを研究し、テストしましたが、それを働かせることはできませんでした。イベントは発生しましたが、イベントが発生するとモジュールは既に閉じられていました。 2つのビューが同じモジュールにあったので、ナビゲーションを動作させることができました。私は以下の答えに答えを入れました。 – JimBoone