Window.SetTitleBar(UIElement) Metodo

Definizione

Abilita il comportamento della barra del titolo in un elemento XAML quando ExtendsContentIntoTitleBar è true.

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)

Parametri

titleBar
UIElement

Elemento per supportare il comportamento della barra del titolo.

Esempio

In questo esempio viene illustrato come estendere l'area del contenuto della finestra e sostituire la barra del titolo di sistema con un oggetto contenente un'icona e un Grid testo del titolo.

<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
}

Commenti

Chiamare questo metodo per sostituire la barra del titolo di sistema con un'interfaccia utente personalizzata della barra del titolo per l'app. L'elemento specificato supporta le stesse interazioni di sistema della barra del titolo del sistema, tra cui trascinamento, doppio clic per ridimensionare e fare clic con il pulsante destro del mouse per visualizzare il menu di sistema. Di conseguenza, l'input del puntatore (mouse, tocco, penna e così via) non è più riconosciuto dall'elemento e dai relativi elementi figlio.

L'area rettangolare occupata dall'elemento specificato funge da barra del titolo per scopi puntatori, anche se l'elemento è bloccato da un altro elemento o l'elemento è trasparente.

Se si desidera inserire elementi interattivi nell'area della barra del titolo, è possibile usare le API InputNonClientPointerSource . Fare riferimento alla pagina Titlebar nell'esempio di Raccolta WinUI per un esempio.

Estendere il contenuto nella barra del titolo

Per specificare una barra del titolo personalizzata, è necessario impostare ExtendsContentIntoTitleBar per true nascondere la barra del titolo di sistema predefinita. Se ExtendsContentIntoTitleBar è false, la chiamata a SetTitleBar non ha alcun effetto. L'elemento della barra del titolo personalizzato viene visualizzato nel corpo della finestra dell'app come elemento dell'interfaccia utente normale e non ottiene i comportamenti della barra del titolo.

Se si imposta ExtendsContentIntoTitleBar su true ma non chiamare (o chiamare SetTitleBarSetTitlebar con un argomento), viene fornita una null barra del titolo personalizzata predefinita. Questa barra del titolo predefinita è una sostituzione diretta della barra del titolo di sistema in posizione, larghezza e altezza. Se si vuole una barra del titolo specializzata, è possibile chiamare SetTitleBar con un 'UIElement' e ottenere un'area della barra del titolo in quella UIElementposizione, larghezza e altezza. Può UIElement essere ospitato ovunque all'interno del contenuto dell'app, non solo l'area non client.

Elemento barra titolo

È possibile specificare solo un singolo elemento come barra del titolo. Se sono necessari più elementi, possono essere specificati come elementi figlio di un singolo contenitore, ad esempio Griglia oStackPanel.

La barra del titolo personalizzata funziona meglio quando non è annidata all'interno dell'app. L'annidamento profondo dell'uiElement all'interno dell'albero XAML può causare comportamenti di layout imprevedibili. La barra del titolo sarà sempre una forma rettangolare. Nel caso di un rettangolo rettangolare non rettangolare UIElement, verrà usato per le dimensioni della barra del titolo.

Colori

Una barra del titolo personalizzata usa una barra del titolo appWindow per l'implementazione. Di conseguenza, è possibile usare appWindowTitleBar api di loro per colori come ButtonBackgroundColor, ButtonForegroundColore così via.

Il liing basato sulle risorse usato nelle versioni precedenti (ad esempio WindowCaptionBackground) è deprecato e non ha alcun effetto.

Si applica a

Vedi anche