標籤:
原文地址:http://www.sharpgis.net/post/2015/05/21/Displaying-a-backbutton-in-your-app-window
免責聲明:這篇文章基於 Windows 10 技術預覽版 10122。這可能會在未來發生改變。
在 Windows 10 中,有一些應用,在它們頂部的標題列裡,有一個後退按鈕。例如設定中:
我們可以使用 SystemNavigationManager 的 AppViewBackButtonVisibility 屬性來控制是否顯示這麼一個按鈕。
使用的方法是這樣的:
SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility = AppViewBackButtonVisibility.Visible;
當你讓你的 Windows 通用程式在案頭系統運行時,運行上面這段代碼後,你可以看見一個一樣的按鈕出現了。當標題列有足夠空間的時候,我們沒必要將它放到其它地方,浪費空間。
當然,在手機裝置上,這行代碼不是必須的(儘管你調用了看起來也沒發生任何變化)。以防萬一,最好還是調用一下吧,說不定你的裝置支援呢。
// 在導航到每一頁的時候,顯示或隱藏後退按鈕if (Frame.CanGoBack) SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility = AppViewBackButtonVisibility.Visible;else SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility = AppViewBackButtonVisibility.Collapsed;// 註冊後退按鈕事件。調用一次就好了,別手賤。例如可以在程式啟動時調用SystemNavigationManager.GetForCurrentView().BackRequested += (s, e) =>{ if (Frame.CanGoBack) Frame.GoBack();};if (Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons")){ // 如果裝置有後退按鈕,那麼同樣處理下。 Windows.Phone.UI.Input.HardwareButtons.BackPressed += (s, e) => { if (Frame.CanGoBack) { e.Handled = true; Frame.GoBack(); } };}
現在你可以在案頭和手機平台都獲得一個後退按鈕了!
不幸的是,BackRequested 事件和 BackPressed 事件的參數是不相同的,所以你不能為兩者使用同一個事件處理常式。這點是相當遺憾的,我(原作者)希望微軟能夠儘快解決一下。
譯者(h82258652)註:由於原文直譯過來的話,感覺過於生硬,因此有部分採取意譯,儘可能跟原文作者的想法保持一致。如果有任何疑難,請查閱原文。謝謝!
【轉】【譯】【Win10】在你的程式標題列中顯示後退按鈕