2010-11-10 6 views
0

Je viens de commencer avec WPF et je voudrais quelques conseils à ce qui suit:Quelle est la meilleure façon de créer un MenuItem pour un menu de style dans WPF?

J'ai un menu qui ressemble à ceci:

<Menu Name="MenuBar" 
    Grid.Row="0" 
    HorizontalAlignment="Right" 
    Style="{DynamicResource MenuBarStyle}"> 
    <MenuItem Header="Settings" /> 
    <MenuItem Header="Help" /> 
</Menu> 

Et dans mes Window.Resources j'ai ce style défini:

<Style x:Key="MenuBarStyle" TargetType="{x:Type Menu}"> 
    <Setter Property="Background" Value="{x:Null}" /> 
    <Setter Property="Foreground" Value="White" /> 
    <Setter Property="FontSize" Value="10" /> 
</Style> 

Cela fonctionne comme prévu et prévu. Cependant, je voudrais également modifier la propriété Padding de chaque MenuItem dans mon menu. Quelle est la meilleure façon de procéder? Ma première pensée était de créer un style séparé et de l'appliquer à chaque MenuItem, mais comment cela fonctionnerait-il si mes MenuItems étaient ajoutés dynamiquement (ils ne le seront pas, mais juste par curiosité)? Est-il possible de cibler un MenuItem enfant dans mon style "MenuStyle"?

Merci,

Steve

Répondre

1

Vous pouvez utiliser un style "implicite" (un sans x: attribut clé) et la cible au type MenuItem. Ce style est ensuite choisi implicitement par défaut pour tous les MenuItems. Mettez ce style dans Menu.Resources si vous voulez seulement qu'il soit utilisé par ce menu, sinon dans Window.Resources où votre style Menu est.

Questions connexes