J'ai une application Windows WPF. Je dois changer la couleur d'arrière-plan de la barre de titre. Comment puis je faire ça?
Dans WPF, la barre de titre fait partie de la zone non cliente, qui ne peut pas être modifiée via la classe de fenêtre WPF. Vous devez manipuler les poignées Win32 (si je me souviens bien).
Cet article pourrait vous être utile: Fenêtre personnalisée Chrome dans WPF .
Voici un exemple sur la façon d'y parvenir:
<Grid DockPanel.Dock="Right"
HorizontalAlignment="Right">
<StackPanel Orientation="Horizontal"
HorizontalAlignment="Right"
VerticalAlignment="Center">
<Button x:Name="MinimizeButton"
KeyboardNavigation.IsTabStop="False"
Click="MinimizeWindow"
Style="{StaticResource MinimizeButton}"
Template="{StaticResource MinimizeButtonControlTemplate}" />
<Button x:Name="MaximizeButton"
KeyboardNavigation.IsTabStop="False"
Click="MaximizeClick"
Style="{DynamicResource MaximizeButton}"
Template="{DynamicResource MaximizeButtonControlTemplate}" />
<Button x:Name="CloseButton"
KeyboardNavigation.IsTabStop="False"
Command="{Binding ApplicationCommands.Close}"
Style="{DynamicResource CloseButton}"
Template="{DynamicResource CloseButtonControlTemplate}"/>
</StackPanel>
</Grid>
</DockPanel>
Gérez les événements Click dans le code-behind.
Pour MouseDown -
App.Current.MainWindow.DragMove();
Pour le bouton Réduire -
App.Current.MainWindow.WindowState = WindowState.Minimized;
Pour DoubleClick et MaximizeClick
if (App.Current.MainWindow.WindowState == WindowState.Maximized)
{
App.Current.MainWindow.WindowState = WindowState.Normal;
}
else if (App.Current.MainWindow.WindowState == WindowState.Normal)
{
App.Current.MainWindow.WindowState = WindowState.Maximized;
}
J'espère que ça aide.
Vous pouvez également créer une fenêtre sans bordure et créer vous-même les bordures et la barre de titre
Vérifiez l'exemple suivant WPF personnalisation de l'apparence d'une fenêtre en XAML
Cet exemple montre comment personnaliser entièrement le style/l'apparence d'une fenêtre, y compris les zones non clientes: barre de titre, bordures, max, min et boutons de fermeture tout en fournissant toutes les fonctionnalités attendues.