2016-04-07 8 views
1

Dies ist das hierarchische Menü. Ich möchte den Stil der Top-Level- und Child-Menüelemente ändern. Vielleicht ist es einfach, aber ich habe nichts gefunden.Wie kann ich den Menüelementstil ändern

enter image description here

Meine XAML:

<Menu Name="MainMenu" Background="White" ItemsSource="{Binding}" VerticalAlignment="Center"> 
    <Menu.ItemTemplate> 
     <HierarchicalDataTemplate ItemsSource="{Binding Path=Objects1}"> 
     <StackPanel Orientation="Horizontal"> 
      <fa:ImageAwesome Icon="{Binding ObjectClass}" Width="{Binding ObjectSize}" Foreground="#616161" /> 
       <Label Content="{Binding ObjectName}" FontSize="14" HorizontalAlignment="Center" Foreground="#616161" FontFamily="Pe-icon-7-stroke"></Label> 
     </StackPanel> 
     <HierarchicalDataTemplate.ItemTemplate> 
      <DataTemplate> 
       <Label Content="{Binding ObjectName}" FontSize="14" HorizontalAlignment="Center" Foreground="#616161" FontFamily="Pe-icon-7-stroke"> 
       </Label> 
      </DataTemplate> 
     </HierarchicalDataTemplate.ItemTemplate> 
    </HierarchicalDataTemplate> 
    </Menu.ItemTemplate> 
</Menu> 

Antwort

1

Sie können Menu.ItemContainerStyle geben Stil anwenden jede Eigenschaft auf Ihrem Menüpunkte zu setzen und Similary HierarchicalDataTemplate.ItemContainerStyle jeden Stil auf Menüpunkte zu setzen.

<Menu Name="MainMenu" Background="White" ItemsSource="{Binding}" VerticalAlignment="Center"> 
     <Menu.ItemContainerStyle> 
      <Style TargetType="MenuItem"> 
       <Setter Property="Background" Value="Red"></Setter> 
      </Style> 
     </Menu.ItemContainerStyle> 
     <Menu.ItemTemplate> 
      <HierarchicalDataTemplate ItemsSource="{Binding Path=Objects1}"> 
       <StackPanel Orientation="Horizontal"> 
        <Label Content="{Binding ObjectName}" FontSize="14" HorizontalAlignment="Center" Foreground="#616161" FontFamily="Pe-icon-7-stroke"></Label> 
       </StackPanel> 
       <HierarchicalDataTemplate.ItemTemplate> 
        <DataTemplate> 
         <Label Content="{Binding ObjectName}" FontSize="14" HorizontalAlignment="Center" Foreground="#616161" FontFamily="Pe-icon-7-stroke"> 
         </Label> 
        </DataTemplate> 
       </HierarchicalDataTemplate.ItemTemplate> 
       <HierarchicalDataTemplate.ItemContainerStyle> 
        <Style TargetType="MenuItem"> 
         <Setter Property="Background" Value="Blue"></Setter> 
        </Style> 
       </HierarchicalDataTemplate.ItemContainerStyle> 
      </HierarchicalDataTemplate> 
     </Menu.ItemTemplate> 
    </Menu> 
+0

vielen Dank es funktioniert für mich, aber ich habe noch eine Sache, wie überschreiben ich den Standard-Stil – user1113141

Verwandte Themen