2016-04-07 3 views
1

Это иерархическое меню. Я хотел бы изменить стиль элементов верхнего уровня и дочернего меню. Может быть, это легко, но я ничего не нашел на этом.Как изменить стиль элемента меню

enter image description here

Мой 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> 

ответ

1

Вы можете дать Menu.ItemContainerStyle применить стиль, чтобы установить какое-либо имущество на ваших пунктов меню и точно также HierarchicalDataTemplate.ItemContainerStyle установить любой стиль по пунктам подменю.

<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

спасибо большое, что это работает для меня, но у меня есть еще одна вещь, как я переписываю стиль по умолчанию – user1113141

Смежные вопросы