1

デスクトップアプリには、アプリがシャットダウンする前に何かを行うのに最適なものがあることを知っていますForm_Closingが、Metroアプリがシャットダウンする(ユーザーまたはシステムによって閉じられる)前に何かを行う必要があり、取得できませんこれは機能しています。

リモートでさえ関連しているように見える唯一のイベントは、App_SuspendingandpageRoot_Unloadedイベントです。

私の問題は、Unloadedイベントにコードを入れても、コード(すべてのコード)が呼び出されないことです。これにより、Unloadedイベントが発生することはないと信じられます。

一時停止だけでなく、アプリが実際に閉じているとき、または閉じようとしているときにこの作業を行う必要があるため、一時停止イベントの使用はまだ試していません。

何か案は?

4

2 に答える 2

3

一時停止の瞬間にMetroアプリを閉じることと一時停止することの間に違いはないので、毎回OnSuspendingオーバーライドで状態を保存する必要があります。ただし、再アクティブ化すると、アプリで何が起こったかを確認できます(OnLaunched(たとえば、ここでは値ClosedByUserを確認できます))。 WinRTライフサイクルに関する悪い記事はありません。

于 2013-01-17T10:28:38.700 に答える
1

ページが移動しているときに呼び出されるOnNavigatedFromメソッドをオーバーライドできます。

http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls.page.onnavigatedfrom.aspx

アプリが終了するという明示的な呼び出しはないと思います(app.xaml.csで以前の状態を確認することを受け入れます)

于 2013-01-17T10:20:38.930 に答える