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 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 aSetTitleBarnon 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
truema non si chiama (o si chiamaSetTitleBarSetTitleBarcon un argomento), viene fornita unanullbarra 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.