Window.SetTitleBar(UIElement) 方法

定義

讓 XAML 元素與系統互動,就像是標題列一樣。

public:
 virtual void SetTitleBar(UIElement ^ value) = SetTitleBar;
void SetTitleBar(UIElement const& value);
public void SetTitleBar(UIElement value);
function setTitleBar(value)
Public Sub SetTitleBar (value As UIElement)

參數

value
UIElement

應該做為標題列的自訂 XAML 內容。 若要使用多個物件,請將這些物件包裝在容器元素中,例如衍生自 Panel的物件。

備註

這個方法可讓您指定與系統互動的 XAML 元素,就像是應用程式視窗的標題列一樣。 當您使用此方法時,通常會將 CoreApplicationViewTitleBar.ExtendViewIntoTitleBar 屬性設定為 true ,以隱藏預設的系統標題列。 不過,即使預設系統標題列未隱藏,這可用來讓應用程式中的其他區域與標題列類似。

使用 CoreApplicationView.TitleBar 屬性來取得應用程式視窗 的 CoreApplicationViewTitleBar 實例,如下所示。

// Requires using Windows.ApplicationModel.Core
CoreApplicationView coreView = CoreApplication.GetCurrentView();
CoreApplicationViewTitleBar coreTitleBar = coreView.TitleBar;
coreTitleBar.ExtendViewIntoTitleBar = true;

// -- OR --

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

注意

當應用程式在行動裝置上執行時,這個方法沒有任何作用,因為應用程式一律會在行動裝置上全螢幕,而且沒有視窗標題列。

輸入

當您呼叫這個方法以將 XAML UIElement 設定為標題列時,它可讓 Windows 處理標題列 UIElement 的輸入,就像處理預設系統標題列的輸入一樣。 例如,使用者可以拖曳 XAML UIElement來移動視窗,或以滑鼠右鍵按一下視窗來叫用視窗操作功能表。

這表示當使用者使用觸控、滑鼠或手寫筆與目標 UIElement 或其子系互動時,您的應用程式就不會再收到指標輸入。 不過,您仍然必須處理 (或防止) 鍵盤輸入,並判斷標題列中的內容是否可以使用鍵盤定位來接收焦點。

版面配置和外觀

您必須更新目標 UIElement 的視覺內容和配置,以回應標題列變更,例如可見度和大小。

若要符合系統標題列的可見度,請視需要顯示和隱藏自訂標題列,處理 CoreApplicationViewTitleBar.IsVisibleChanged 事件並遵守 CoreApplicationViewTitleBar.IsVisible 屬性。 這可確保當系統標題列隱藏時,您的自訂標題列內容正確隱藏;例如,當使用者選擇以全螢幕模式顯示您的應用程式時。

若要確保您的標題列符合其他標題列元素的大小,例如永遠存在的系統最小化、最大化和關閉按鈕,請處理 CoreApplicationViewTitleBar.LayoutMetricsChanged 事件,並遵守 CoreApplicationViewTitleBar.HeightSystemOverlayLeftInsetSystemOverlayRightInset 屬性。

系統一律會顯示預設標題列按鈕,例如 [最小化]、[最大化] 和 [關閉],因此您可能也想要修改其色彩以符合您的自訂 XAML 標題列內容。 若要這樣做,請使用 Windows.UI.ViewManagement.ApplicationView.TitleBar 屬性來取得應用程式視窗 的 ApplicationViewTitleBar 實例。 然後,您可以在 ApplicationViewTitleBar 上設定各種色彩屬性,以修改預設按鈕。

適用於