共用方式為


Window.SetTitleBar(UIElement) 方法

定義

當 為 trueExtendsContentIntoTitleBar,在 XAML 元素上啟用標題列行為。

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

參數

titleBar
UIElement

要支援標題列行為的專案。

範例

這個範例示範如何擴充視窗的內容區域,並將系統標題列取代為 Grid 包含圖示和標題文字的 。

<Window ... >
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="32"/>
            <RowDefinition/>
        </Grid.RowDefinitions>

        <Grid x:Name="AppTitleBar">
            <Image Source="Images/WindowIcon.png"
                   HorizontalAlignment="Left" 
                   Width="16" Height="16" 
                   Margin="8,0"/>
            <TextBlock x:Name="AppTitleTextBlock" Text="App title"
                       TextWrapping="NoWrap"
                       Style="{StaticResource CaptionTextBlockStyle}" 
                       VerticalAlignment="Center"
                       Margin="28,0,0,0"/>
        </Grid>

        <NavigationView Grid.Row="1">
            <!-- Page content -->
        </NavigationView>
    </Grid>
</Window>
public MainWindow()
{
    this.InitializeComponent();

    ExtendsContentIntoTitleBar = true;
    SetTitleBar(AppTitleBar);  // skip call to this api to get a default custom title bar
}

備註

呼叫這個方法,以應用程式的自定義標題列 UI 取代系統標題列。 指定的元素支援與系統標題列相同的系統互動,包括拖曳、按兩下以重設大小,然後按下滑鼠右鍵以顯示系統功能表。 因此,元素及其子元素無法再辨識指標輸入 (滑鼠、觸控、手寫筆等) 。

指定專案所佔用的矩形區域會做為指標用途的標題列,即使專案被另一個項目封鎖,或專案是透明的。

如果您想要將互動式元素放在標題欄區域中,您可以使用 InputNonClientPointerSource API。 如需範例,請參閱 WinUI 資源庫中標題欄頁面。

將內容延伸至標題列

若要指定自定義標題列,您必須將 ExtendsContentIntoTitleBar 設定為 true ,以隱藏預設的系統標題列。 如果 為 ExtendsContentIntoTitleBarfalse,則呼叫 SetTitleBar 不會有任何作用。 您的自定義標題列元素會顯示在應用程式窗口主體中作為一般 UI 元素,而且不會取得標題列行為。

如果您將 ExtendsContentIntoTitleBar 設定為 true ,但不要呼叫 (或以null自變數) 呼叫SetTitleBarSetTitlebar,則會提供預設的自定義標題列。 此預設標題列是直接取代位置、寬度和高度的系統標題列。 如果您想要特製化標題列,您可以使用 『UIElement』 呼叫 SetTitleBar,並在該UIElement位置、寬度和高度上取得標題欄區域。 這 UIElement 可以裝載於應用程式內容中的任何位置,而不只是非工作區。

標題列元素

只能將單一元素指定為標題列。 如果需要多個元素,則可以將其指定為單一容器的子元素, (例如 GridStackPanel) 。

自定義標題列在應用程式內不是巢狀結構時效果最佳。 在 XAML 樹狀結構中深度巢狀 UIElement 可能會導致無法預期的版面配置行為。 標題列一律為矩形圖形。 如果是非矩形 UIElement,則會將其矩形周框用於標題列的維度。

色彩

自定義標題列會使用 AppWindow標題列 進行實作。 因此,您可以使用 AppWindowTitleBar 主題 API 來取得 、 ButtonBackgroundColorButtonForegroundColor等色彩。

舊版中使用的資源主題 (,例如 WindowCaptionBackground) 已被取代,而且沒有任何作用。

適用於

另請參閱