Window.SetTitleBar(UIElement) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Active le comportement de la barre de titre sur un élément XAML lorsque c’est truele casExtendsContentIntoTitleBar.
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)
Paramètres
- titleBar
- UIElement
Élément permettant de prendre en charge le comportement de la barre de titre.
Exemples
Cet exemple montre comment étendre la zone de contenu de la fenêtre et remplacer la barre de titre système par une Grid icône et un texte de titre.
<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);
}
Remarques
Appelez cette méthode pour remplacer la barre de titre système par une interface utilisateur de barre de titre personnalisée pour votre application.
À compter de SDK d'application Windows 1.7, vous pouvez utiliser le contrôle TitleBar XAML pour créer une barre de titre personnalisée. Pour plus d’informations et d’exemples, consultez la barre de titre .
Pour créer une barre de titre personnalisée sans le contrôle, consultez Personnalisation de la TitleBarbarre de titre.
Étendre le contenu dans la barre de titre
Pour spécifier une barre de titre personnalisée, vous devez d’abord définir ExtendsContentIntoTitleBar pour true masquer la barre de titre système.
- Si
ExtendsContentIntoTitleBarc’estfalsele cas, l’appel àSetTitleBarn’a aucun effet. Votre élément de barre de titre personnalisé est affiché dans le corps de la fenêtre de votre application en tant qu’élément d’interface utilisateur ordinaire et n’obtient pas les comportements de barre de titre. - Si vous définissez ExtendsContentIntoTitleBar sur
truemais n’appelez pas (ou n’appelezSetTitleBarSetTitleBarpas avec unnullargument), une barre de titre par défaut est fournie. Cette barre de titre par défaut est un remplacement direct de la barre de titre système en position, largeur et hauteur.
Caution
ExtendsContentIntoTitleBar s’affiche dans XAML IntelliSense pour Window, mais sa définition en XAML provoque une erreur. Définissez plutôt cette propriété dans le code.
Élément de barre de titre
Contrôle TitleBar
Un seul élément peut être spécifié comme barre de titre. Nous vous recommandons le contrôle TitleBar XAML pour cela. Pour plus d’informations et d’exemples, consultez la barre de titre .
Autres éléments
Pour avoir un contrôle complet des éléments de barre de titre, vous pouvez créer une barre de titre sans utiliser le contrôle TitleBar. Pour plus d’informations, consultez la personnalisation de la barre de titre .
Plusieurs éléments peuvent être spécifiés en tant qu’éléments enfants d’un seul conteneur (par exemple, grid ou StackPanel). La zone rectangulaire occupée par l’élément conteneur agit comme la barre de titre à des fins de pointeur, même si l’élément est bloqué par un autre élément ou si l’élément est transparent. L’élément spécifié prend en charge les mêmes interactions système que la barre de titre du système, y compris le glisser, double-cliquer pour redimensionner et cliquer avec le bouton droit pour afficher le menu système. Par conséquent, l’entrée de pointeur (souris, tactile, stylet, et ainsi de suite) n’est plus reconnue par l’élément et ses éléments enfants. Si vous souhaitez placer des éléments interactifs dans la zone de barre de titre, vous pouvez utiliser les API InputNonClientPointerSource .
La barre de titre personnalisée fonctionne mieux quand elle n’est pas imbriquée dans l’application. L’imbrication approfondie de l’uiElement dans l’arborescence XAML peut entraîner des comportements de disposition imprévisibles. La barre de titre sera toujours une forme rectangulaire. Dans le cas d’un rectangle non rectangulaire UIElement, son rectangle englobant rectangulaire sera utilisé pour les dimensions de la barre de titre.
Couleurs
Une barre de titre personnalisée utilise une barre de titre AppWindow pour son implémentation. Par conséquent, vous pouvez utiliser les API de thème AppWindowTitleBar pour les couleurs telles que ButtonBackgroundColor, ButtonForegroundColoretc.
Le thème basé sur les ressources utilisé dans les versions antérieures (comme WindowCaptionBackground) est déconseillé et n’a aucun effet.