2016-06-16 12 views
3

WPFではタグにClosingというイベントがあります。MainWindow_OnClosingにあるディスポジションコードを接続できます。UWPページのClosingイベントとは何ですか?

しかしUWPアプリにはこのようなイベントはありません。私が推測する閉鎖はUnloadedであり、Unloadingもありません。

私は処分コードをそこに配置しましたが、それでも心配しています。このタイプの作業ではUnloadedイベントが想定されていますか?私がメモする必要があるものはありますか?

+0

あなたがアプリケーションを閉じるか、ページからナビゲートするためのイベントをしたいですか? – AbsoluteSith

+0

ウィンドウが閉じているときに、私の 'SpeechRecognizer'をViewModelに配置するだけです。 – Blaise

+0

私はアプリケーション終了のためのイベントが存在しないと思います。 'Suspending'イベントを使ってリソースを解放し、' Resuming'イベントでリソースを取得することができます。 – AbsoluteSith

答えて

4

MSDNによると、WindowクラスはClosedイベントを持っています。 私はあなたがwindowコンポーネントのClosingイベントを投稿としてこれを言及するが、心の中でイベントの発言をキープしています:

ウィンドウが閉じるときにクローズイベントが発生します。ただし、Windowsストア のアプリケーションは通常、1つのWindowインスタンスを使用し、追加のWindowインスタンスは を開いたり閉じたりしません。今

Pagesと、メインウィンドウのFrameナビゲーションシステムを使用しているとき、私はすべての初期化を操作し、クラスの機能を配置するOnNavigatedToOnNavigatedFromイベントを使用することをアドバイス。

OnNavigationFromは、Pageがアンロードされる直前に呼び出され、親フレームの現在のソースではなくなったため、注意が必要です。

Aは本当に簡単な例:

Windows.ApplicationModel.Resources.ResourceLoader loader; 

protected override void OnNavigatedTo(NavigationEventArgs e) 
{ 
    base.OnNavigatedTo(e); 

    loader = new Windows.ApplicationModel.Resources.ResourceLoader(); 
    var navigationPageContentFormat = loader.GetString("NavigationPageContent"); 
    var navigationPageContentWhenEmpty = loader.GetString("NavigationPageContentWhenEmpty"); 

    this.ParameterTextBlock.Text = String.Format(navigationPageContentFormat, e.Parameter?.ToString() ?? navigationPageContentWhenEmpty); 
} 

protected override void OnNavigatingFrom(NavigatingCancelEventArgs e) 
{ 
    loader = null; 
} 
関連する問題