簡體   English   中英

UWP擴展到標題欄-默認標題欄轉換后退按鈕

[英]UWP extend into title bar - default title bar converting back button

在我的UWP應用中,我試圖使后退按鈕進入標題欄,這是我過去做過的很多次。 這次,我面臨的麻煩是默認標題欄似乎並沒有消失,而是懸停在我的按鈕上,因此我無法按下它。 我嘗試創建帶有邊距的自定義標題欄,但是並沒有解決問題。 這是標題欄的擴展...:

var coreTitleBar = CoreApplication.GetCurrentView().TitleBar;
coreTitleBar.ExtendViewIntoTitleBar = true;

...以及自定義標題欄:

var titleBarGrid = new Grid()
{
    Background = new SolidColorBrush(Colors.Transparent),
    HorizontalAlignment = HorizontalAlignment.Stretch,
    VerticalAlignment = VerticalAlignment.Top,
    Height = 48,
    Margin = new Thickness(50, 0, 150, 0),
};
Window.Current.SetTitleBar(titleBarGrid);

這些是在App.xaml.cs中設置的。

如何刪除/覆蓋默認標題欄?

問題是您將titleBarGrid的背景色設置為Transparent 盡管這是一種完全透明的顏色,但是對於命中測試,它仍然是“純色”。 如果要確保單擊Grid ,則根本不要設置Background

我也認為SetTitleBar的參數應該是已經屬於頁面XAML樹的一部分的控件,因此您應該首先將Grid添加到頁面上的某處。 最簡單的解決方案是直接在XAML中創建。

最后,如果要保持純色背景,還可以觀察從CoreTitleBar.LayoutMetricsChanged事件獲得的標題欄的Inset值。 SystemOverlayLeftInset屬性將告訴您應該在左側添加多少填充,以便內容不會覆蓋標題欄的后退按鈕。

最后-我想提一下,最新的設計指南不鼓勵在標題欄中使用后退按鈕,而是建議您在應用程序用戶界面中實施后退按鈕。 參見文檔

以前,UWP應用使用AppViewBackButtonVisibility進行向后導航。 將繼續支持該API以實現向后兼容性,但我們不再建議您依賴標題欄的后退按鈕。 相反,您的應用應繪制自己的應用內后退按鈕。

后退按鈕應該是應用程序內UI的一部分,因為否則,當Windows 10中發布“設置”功能時,后退按鈕欄會顯示在應用程序的頂部,效果不佳。

我以某種方式通過將settitlebar(grid) InitializeComponent()settitlebar(grid)修復它。 馬丁(Martin)-如果我不設置顏色,則該窗口將不可拖動,因此除了最小化按鈕的默認左側外,沒有其他可拖動的東西。 我制作為標題欄的網格的邊距不與我的任何按鈕重疊。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM