[UWP開發]處理手機后退事件


眾所周知,uwp程序是一套代碼,可以run在不同的平台上。但是不同的設備肯定有其獨特之處,所以針對這些獨特之處,必須用“獨特的代碼”來處理。

所以微軟提供了一系列的拓展類庫來實現這種特殊處理。

如上圖所示,紅框中的便是拓展程序集。

當然實現手機后后退鍵處理,我們就需要把Mobile對應的程序集添加到我們的項目中去。

 

添加后只需要一段很簡短的代碼,我們就可以實現對后退按鍵的處理。代碼很簡潔。

if ("Windows.Mobile" == Windows.System.Profile.AnalyticsInfo.VersionInfo.DeviceFamily)
                Windows.Phone.UI.Input.HardwareButtons.BackPressed += HardwareButtons_BackPressed;

private void HardwareButtons_BackPressed(object sender, Windows.Phone.UI.Input.BackPressedEventArgs e)
{
       var rootFrame = Window.Current.Content as Frame;
       if (rootFrame.CanGoBack)
       {
             rootFrame.GoBack();
             e.Handled = true;
       }
}

if用來判斷程序運行的平台,如果是Moblie,就注冊一個處理后退的事件。如果不判斷的話,編譯不會出錯,但在運行的

時候會發生錯誤。

那么這段段代碼應該放在哪兒呢?

之前我一直都是放在單個頁面的構造函數中,但后來發現隨着頁面增多會有問題。所以現在我把這段代碼放在App.cs中,讓它在程序的整個生命周期中只注冊一次就行。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM