Langage

Window.SetTitleBar(UIElement) Méthode

Définition

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 ExtendsContentIntoTitleBar c’est falsele cas, l’appel à SetTitleBar n’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 true mais n’appelez pas (ou n’appelez SetTitleBarSetTitleBar pas avec un null argument), 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.

S’applique à

Voir aussi