WinRTバージョンのCaiburnMicroで利用可能なサスペンドとレジュームのサポートはありますか?はいの場合、このアーキテクチャでサスペンド/レジューム機能を実装する方法を教えてください。caliburnmicroのような本格的なアーキテクチャが状態処理をサポートしていないとは思いません。
また、Windows Phoneのナビゲーション動作のように、非アクティブ化中にナビゲーションを維持する方法もあります。
誰かが私がこの問題を解決するのを手伝ってください
WinRTバージョンのCaiburnMicroで利用可能なサスペンドとレジュームのサポートはありますか?はいの場合、このアーキテクチャでサスペンド/レジューム機能を実装する方法を教えてください。caliburnmicroのような本格的なアーキテクチャが状態処理をサポートしていないとは思いません。
また、Windows Phoneのナビゲーション動作のように、非アクティブ化中にナビゲーションを維持する方法もあります。
誰かが私がこの問題を解決するのを手伝ってください
これに関するドキュメントは数ページあります-私がcaliburn.microを使って作業してからしばらく経ちましたので、これらがあなたの質問に完全に答えるかどうかはわかりませんが、ここに行きます:
その要点は「画面から継承」です。これにより、特にオーバーライドするメソッドが提供OnActivate()
されます。OnDeactivate()
これらを使用して、アプリケーションを一時停止および再開できます。
また、caliburn.microのWP7には、sを介した「トゥームストーニング」サポートStorageHandler
があります。対応するクラスがWinRTでも利用できる可能性があります。それらに関するいくつかのドキュメントは次のとおりです。
他の回答で述べたように、OnActivate()とOnDeactivate()は、WinRTで「トゥームストーン」を処理するための理想的なソリューションではないと思います。これらのオーバーライドは、ビューがアクティブまたは破棄されたときに1回だけ発生し、ビューのフォーカスが外れて戻ってくるたびに発生するわけではありません。
Caliburn.MicroWinRTの一時停止/再開機能にまだ遭遇していません。
ただし、これは代わりに.NETインフラストラクチャを使用して簡単に実現できます。詳細については、このmsdnリンクをたどってください。
要するに、
ナビゲーションを処理して戻る(アプリを最小化して再開)には、ViewModelsで以下のイベントを使用します。
Window.Current.VisibilityChanged += OnVisibilityChanged;
AppクラスのSuspend/ResumeオーバーライドOnSuspendingおよびOnResumingを処理します。