WPF C# - Changement de la brosse de fond du menu
Personne ne sait comment changer la brosse pour un menu? Cela semble simple, mais je ne vois pas de moyen évident de le faire. Vous pensez que la propriété Background allait changer, mais il ne le fait pas.
Voici ce que mon menu ressemble (remarquez le fond blanc par défaut):
Exemple De Code:
<Window x:Class="WpfApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<Window.Resources>
<SolidColorBrush x:Key="menuItemBrush"
Color="#FF505050" />
</Window.Resources>
<Grid x:Name="mainGrid"
Background="#FF252525">
<Menu x:Name="mainMenu"
Background="{DynamicResource menuItemBrush}"
Grid.ColumnSpan="2"
VerticalAlignment="Top">
<MenuItem x:Name="fileMenu"
Background="{DynamicResource menuItemBrush}"
Foreground="White"
Header="File">
<MenuItem x:Name="fileOpenMenuItem"
Background="{DynamicResource menuItemBrush}"
Foreground="White"
Header="Open..." />
<MenuItem x:Name="fileSaveMenuItem"
Background="{DynamicResource menuItemBrush}"
Foreground="White"
Header="Save" />
<MenuItem x:Name="fileSaveAsMenuItem"
Background="{DynamicResource menuItemBrush}"
Foreground="White"
Header="Save As..." />
<Separator Style="{DynamicResource menuItemSeperator}" />
<MenuItem x:Name="fileExitMenuItem"
Background="{DynamicResource menuItemBrush}"
Foreground="White"
Header="Exit" />
</MenuItem>
</Menu>
</Grid>
Cet article paraît utile. Il montre comment personnaliser l'élément de modèles de contrôle (par opposition aux styles Nate réponse): blogs.microsoft.co.il/blogs/pavely/archive/2010/10/01/...
Pourquoi n'avez-vous télécharger l'image sur stackoverflow? Il n'est pas disponible maintenant.
Pourquoi n'avez-vous télécharger l'image sur stackoverflow? Il n'est pas disponible maintenant.
OriginalL'auteur user62998 | 2009-02-05
Vous devez vous connecter pour publier un commentaire.
Je suggérerais à l'aide d'un outil appelé kaxaml pour les styles d'écriture. Il comprend plusieurs fragments de code, un sélecteur de couleur et une belle façon de voir immédiatement quels sont les changements dans le code xaml. Voici un menu complet de style pour ce que vous essayez de faire. Il suffit de changer la brosse couleurs en haut afin de l'adapter à vos besoins.
chaque fragment de code posté sur SE utilise implicitement licence MIT. Kaxaml utilise également MIT.
OriginalL'auteur Nate
Vous ne pouvez pas le faire sans écraser le modèle de l'élément de menu. Profondément à l'intérieur du modèle est un contrôle appelé "Part_Popup". Vous avez besoin de changer la couleur d'arrière-plan.
Essayez myMenu.De modèle.FindName("Part_Popup", this);
Je reçois un InvaildOperationException: Cette opération est valable uniquement sur les éléments qui ont ce modèle appliqué. J'ai essayé de remplacer "ce" avec le menu et que cela ne fonctionne pas.
OriginalL'auteur Micah