我在Windows Phone 7/8應用程序的應用程序關閉/取消激活方法中顯示MessageBox。它用於警告用戶,因爲應用程序正在關閉而禁用活動計時器。 App Closing/Deactivated事件對此非常完美,因爲在所有應用程序頁面中放置邏輯將成爲一個殺手 - 導航頁面和路徑太多。這工作得很好 - 消息框在WP7中顯示OK。我也知道breaking changes in the API of WP8。在那裏明確指出,在Activated和Launching中的MessageBox.Show會導致異常。MessageBox.Show in App關閉/取消激活事件
問題是,在WP8消息框沒有顯示在應用程序關閉。代碼無一例外地被執行,但是沒有消息出現。
P.S.我已經在MS WP Dev論壇上問過這個問題,但顯然沒有人知道。
它沒有用 - OnBackKeyPress仍然是一個頁面方法 - 所以我需要實現和維護它在10多頁。更糟糕的是,它沒有解決快速切換 - 沒有後退被按下:) – Kamen
您仍然可以在App.xaml.cs中執行此操作:只需掛鉤到RootFrame的導航事件,並且只有觸發上述代碼(如果後臺堆棧是空的(即CanGoBack是假的) – dotMorten
當然,Inkog沒有閱讀* breaking changes *鏈接,所以他沒有意識到他的代碼會使應用程序崩潰。您需要在*設置了'e.Cancel = true;'後調度* MessageBox.Show'調用! –