Window.SetTitleBar(UIElement) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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 SetTitleBar
SetTitlebar
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 UIElement
posizione, 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
, ButtonForegroundColor
e così via.
Il liing basato sulle risorse usato nelle versioni precedenti (ad esempio WindowCaptionBackground
) è deprecato e non ha alcun effetto.