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 di 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="16,0"/>
            <TextBlock x:Name="AppTitleTextBlock" Text="App title"
                       TextWrapping="NoWrap"
                       Style="{StaticResource CaptionTextBlockStyle}" 
                       VerticalAlignment="Center"
                       Margin="48,0,0,0"/>
        </Grid>

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

    ExtendsContentIntoTitleBar = true;
    SetTitleBar(AppTitleBar);
}

Commenti

Chiama questo metodo per sostituire la barra del titolo di sistema con un'interfaccia utente personalizzata della barra del titolo per la tua app.

A partire da SDK per app di Windows 1.7, puoi usare il controllo TitleBar XAML per creare una barra del titolo personalizzata. Per altre informazioni ed esempi, vedere Barra del titolo .

Per creare una barra del titolo personalizzata senza il controllo , vedere Personalizzazione della barra delTitleBar titolo.

Estendere il contenuto nella barra del titolo

Per specificare una barra del titolo personalizzata, è prima necessario impostare ExtendsContentIntoTitleBar su true per nascondere la barra del titolo di sistema.

  • 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 ordinario dell'interfaccia utente e non ottiene i comportamenti della barra del titolo.
  • Se si imposta ExtendsContentIntoTitleBar su true ma non si chiama (o si chiama SetTitleBarSetTitleBar con un argomento), viene fornita una null barra del titolo predefinita. Questa barra del titolo predefinita è una sostituzione diretta della barra del titolo di sistema in posizione, larghezza e altezza.

Caution

ExtendsContentIntoTitleBar viene visualizzato in IntelliSense di XAML per Window, ma impostarlo in XAML genera un errore. Impostare invece questa proprietà nel codice.

Elemento barra del titolo

Controllo TitleBar

È possibile specificare solo un singolo elemento come barra del titolo. Per questo motivo, ti consigliamo il controllo TitleBar XAML. Per altre informazioni ed esempi, vedere Barra del titolo .

Altri elementi

Per avere il controllo completo degli elementi della barra del titolo, è possibile creare una barra del titolo senza usare il controllo TitleBar. Per altre informazioni, vedere Personalizzazione della barra del titolo .

È possibile specificare più elementi come elementi figlio di un singolo contenitore, ad esempio Grid o StackPanel. L'area rettangolare occupata dall'elemento contenitore funge da barra del titolo a scopo di puntatore, anche se l'elemento è bloccato da un altro elemento o l'elemento è trasparente. 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 viene più riconosciuto dall'elemento e dai relativi elementi figlio. Se si desidera inserire elementi interattivi nell'area della barra del titolo, è possibile usare le API InputNonClientPointerSource .

La barra del titolo personalizzata funziona meglio quando non è annidata in profondità all'interno dell'app. L'annidamento profondo di 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 di delimitazione rettangolare non rettangolare UIElement, verrà utilizzato per le dimensioni della barra del titolo.

Colori

Una barra del titolo personalizzata usa una barra del titolo di AppWindow per l'implementazione. Di conseguenza, è possibile usare le API di tema AppWindowTitleBar per colori come ButtonBackgroundColor, ButtonForegroundColore così via.

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

Si applica a

Vedi anche