J'ai une application Windows WPF. J'ai besoin de changer la couleur de fond de la barre de titre. Comment puis je faire ça?Modification de la couleur d'arrière-plan de la barre de titre WPF
Répondre
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 peut être utile pour vous: Custom Window Chrome in WPF.
Vous pouvez également créer une fenêtre sans bordure, et rendre les frontières et le titre vous bar
Mais alors vous devez vous-même construire toutes les fonctionnalités de la barre des tâches (comme déplacer, agrandir/restaurer la taille en double-cliquant, fermer en double-cliquant sur l'icône, ...). –
oui ... mais ce n'est pas un gros problème, par exemple la méthode DragMove le rend facile à déplacer, et le reste est la paix du gâteau;) –
je sais ... mais construire une propre barre de titre me semble un sale tour (en plus de créer le même Look & Feel est une tâche assez difficile imho) –
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>
poignée Cliquez sur Événements dans le code -derrière.
Pour MouseDown -
App.Current.MainWindow.DragMove();
Pour minimiser 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
ApplicationCommands.Close n'a pas fonctionné pour moi. J'ai utilisé Application.Current.MainWindow.Close(); dans une commande. Il n'y a pas non plus de DoubleClick for Grid, j'ai utilisé MouseLeftButtonDown et l'ai utilisé. if (e.ClickCount == 2) { Agrandir(); } sinon { Application.Current.MainWindow.DragMove(); } – Tempeck
Vérifier l'exemple suivant WPF customizing the appearance of a window in 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, les frontières, max, min et fermer les boutons tout en fournissant toutes les fonctionnalités attendues.
- 1. Texte dans la barre de titre
- 2. YUI Editeur masquant la barre de titre?
- 3. MFC: Modification de la couleur de CEdit
- 4. Comment inclure l'aide '?' dans la barre de titre de winform
- 5. Masquer les boutons de la barre de titre à Cocoa
- 6. Modification du texte dans la barre de titre d'Internet Explorer (7.0) et onglet
- 7. WPF SystemColors: couleur de la bordure TextBox
- 8. Modification de la couleur des barres individuelles dans Microsoft.Interop.Graph.Chart .NET?
- 9. Suppression de la barre de titre de la vue de côté de l'application utilitaire
- 10. QT: Masquer la barre de titre d'une fenêtre/fenêtre
- 11. QT4 Glisser la fenêtre sans barre de titre
- 12. Bouton Fermer dans la barre de titre dans MFC
- 13. Ne répond pas est affiché dans la barre de titre
- 14. Afficher ou masquer une barre de titre à la demande
- 15. UITabBarContoller Couleur de la barre supérieure de l'option "Plus"
- 16. Comment puis-je afficher une image dans la barre de titre WPF Aero Glass?
- 17. Comment utiliser la barre de progression WPF?
- 18. Modification de l'arrière-plan d'un panneau de la barre d'outils WPF
- 19. Légende de la barre de titre du centre de la forme de ruban Syncfusion WinForms?
- 20. Supprimer le texte de la barre de titre d'une fenêtre mais conserver le texte de la barre d'état
- 21. Modification de la couleur des éléments déroulants dans TDBLookupComboBox
- 22. Modification de la couleur d'une liste déroulante lorsqu'elle est fermée
- 23. Modification de la couleur du lien en fonction de la fonction de feuille de style
- 24. WPF Image Modification dynamique de la source d'image pendant l'exécution
- 25. barre de titre est manquante dans YUI
- 26. Comment émuler la barre de titre de la fenêtre en CSS/HTML
- 27. Comment cacher la barre de titre dans la fenêtre principale de l'iPhone
- 28. Modification du langage des éléments de la barre d'onglets
- 29. Dessin d'une barre d'outils dans la barre de titre d'une fenêtre
- 30. WPF barre de défilement
Connexe: http://stackoverflow.com/questions/9978444/how-can-i-style-the-border-and-title-bar-of-a-window-in-wpf. – DuckMaestro