J'ai créé un style et un modèle personnalisés pour MenuItem et ContextMenu, et pour mon premier niveau, cela fonctionne très bien, mais chaque fois que j'ajoute un élément SubMenu, le style de ce ContextMenu revient à la valeur par défaut style. Comment puis-je m'assurer que cet objet utilise mon style personnalisé? J'ai également essayé d'utiliser la syntaxe <; Style TargetType = "ContextMenu" Key = "{x: Type ContextMenu}", et il ne semble pas non plus la surcharger.Définition du style de ContextMenu sur les sous-éléments
1
A
Répondre
2
Le problème est que le style est appliqué aux éléments du menu enfant du ContextMenu. Comme ils sont eux-mêmes ItemsControls, les petits-enfants récupèrent le ItemContainerStyle du style MenuItem. Je suggère d'extraire le style MenuItem dans une ressource distincte, puis de l'utiliser comme suit:
<Style x:Key="menuItemStyle" TargetType="{x:Type MenuItem}">
...
</Style>
<Style TargetType="{x:Type ContextMenu}">
<Setter Property="ItemContainerStyle">
<Setter.Value>
<Style TargetType="{x:Type MenuItem}" BasedOn="{StaticResource menuItemStyle}">
<Setter Property="ItemContainerStyle" Value="{StaticResource menuItemStyle}" />
</Style>
</Setter.Value>
</Setter>
</Style>
Questions connexes
- 1. WPF ContextMenu Structure de style
- 2. Style ContextMenu par défaut - WPF
- 3. ContextMenu dans le style poseur
- 4. Définition du style de contrôle des onglets sur TabControl managé
- 5. WPF La définition du style par défaut sur un TextBlock remplace le style d'une étiquette
- 6. Définition d'une propriété PlacementTarget de WPF ContextMenu dans XAML?
- 7. flex contextmenu référence du composant
- 8. Définition du style d'édition de colonne DataGrid de WpfToolkit
- 9. TextBox coutume ContextMenu dans le style, l'erreur de multithreading
- 10. Default ContextMenu affiché le long du Custom ContextMenu
- 11. Définition de InputBindings dans un style
- 12. Définition du style de fenêtre dans PyQT/PySide?
- 13. Javascript ContextMenu sur un TD
- 14. Comment lier à la cible Style dans un ContextMenu dans Style?
- 15. ContextMenu pour DataGrid
- 16. SharePoint: Ajouter un style personnalisé à la définition du site
- 17. ASP.NET: Définition du style d'un élément HTML par programme
- 18. définition de texte sur DataGridTextColumn
- 19. ContextMenu sur ListBox article avec DataTemplate
- 20. Personnalisation des couleurs ListView ContextMenu
- 21. remplaçons ContextMenu
- 22. Définition du bit exécutable sur les fichiers dans Mercurial
- 23. Javascript ContextMenu dans IE7
- 24. Extender ContextMenu
- 25. Définition du focus sur MSHTML intégré
- 26. WPF contextmenu et ListView
- 27. Problèmes lors de la définition de l'option alternatingItemColors du style CSS (Flex)
- 28. Définition du parent sur l'arborescence AVL
- 29. Définition du focus sur un PanoramaItem
- 30. Définition du contraste d'une image sur l'iPhone
Salut Abe, pouvez-vous également consulter une question connexe? http://stackoverflow.com/questions/4430807/prevent-itemcontainerstyle-overriding-already-set-style. Ça va être génial, merci! – Dr1Ku