Modification de la couleur de fond de la barre de titre WPF
J'ai une application Windows WPF. Je dois changer la couleur d'arrière-plan de la barre de titre. Comment puis-je le faire?
4 réponses
Dans WPF, la barre de titre fait partie de la zone non-client, 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érer les événements de clic dans le code-behind.
Pour MouseDown -
App.Current.MainWindow.DragMove();
Pour Réduire Le Bouton -
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 cela aide.
-Sushant
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 personnalisant L'apparence D'une fenêtre dans XAML
Cet exemple montre comment personnaliser entièrement le style / l'apparence d'une fenêtre, y compris les zones non-client: barre de titre, bordures, boutons max, min et fermer tout en fournissant toutes les fonctionnalités attendues.