C# WPF上下文菜单自定义样式问题
我正试图在WPF中自定义上下文菜单,我可以通过以下MSDN上的示例来实现它。拼图中的最后一块是子菜单标题颜色(子菜单标题) 如果您注意到两个子菜单都有白色鼠标悬停,但子菜单标题采用子菜单项(项目1、项目等)的正常颜色,即使它高亮显示 我需要做什么来更改其高亮显示或鼠标悬停的颜色C# WPF上下文菜单自定义样式问题,c#,.net,wpf,xaml,custom-controls,C#,.net,Wpf,Xaml,Custom Controls,我正试图在WPF中自定义上下文菜单,我可以通过以下MSDN上的示例来实现它。拼图中的最后一块是子菜单标题颜色(子菜单标题) 如果您注意到两个子菜单都有白色鼠标悬停,但子菜单标题采用子菜单项(项目1、项目等)的正常颜色,即使它高亮显示 我需要做什么来更改其高亮显示或鼠标悬停的颜色 <ControlTemplate x:Key="{x:Static MenuItem.SubmenuHeaderTemplateKey}" TargetType="{x:Type MenuItem}">
<ControlTemplate x:Key="{x:Static MenuItem.SubmenuHeaderTemplateKey}" TargetType="{x:Type MenuItem}">
<Border x:Name="Border" BorderThickness="1">
<Grid Height="22">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" SharedSizeGroup="Icon" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" SharedSizeGroup="Shortcut" />
<ColumnDefinition Width="13" />
</Grid.ColumnDefinitions>
<ContentPresenter x:Name="Icon" Margin="6,0,6,0" VerticalAlignment="Center" ContentSource="Icon"/>
<ContentPresenter x:Name="HeaderHost" Margin="3,0,3,0" Grid.Column="1" VerticalAlignment="Center" ContentSource="Header" RecognizesAccessKey="True" TextOptions.TextFormattingMode="Display" />
<Path x:Name="RightArrow" Grid.Column="3" HorizontalAlignment="Center" VerticalAlignment="Center" Data="M 0 0 L 0 7 L 4 3.5 Z" Fill="#49a3e1" />
<Popup x:Name="Popup" Placement="Right" HorizontalOffset="-4" IsOpen="{TemplateBinding IsSubmenuOpen}" AllowsTransparency="True" Focusable="False" PopupAnimation="Fade">
<Border x:Name="SubmenuBorder" SnapsToDevicePixels="True" Background="White" BorderThickness="1" BorderBrush="#49a3e1">
<StackPanel IsItemsHost="True" KeyboardNavigation.DirectionalNavigation="Cycle"/>
</Border>
</Popup>
</Grid>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="Icon" Value="{x:Null}">
<Setter TargetName="Icon" Property="Visibility" Value="Collapsed" />
</Trigger>
<Trigger Property="IsHighlighted" Value="true">
<Setter Property="Background" TargetName="Border" Value="#49a3e1"/>
<Setter Property="Fill" TargetName="RightArrow" Value="White"/>
<Setter Property="Foreground" Value="White"/>
</Trigger>
<Trigger Property="IsHighlighted" Value="false">
<Setter Property="Foreground" Value="Red"/>
</Trigger>
<Trigger SourceName="Popup" Property="AllowsTransparency" Value="True">
<Setter TargetName="SubmenuBorder" Property="Padding" Value="3" />
<Setter Property="Foreground" Value="Black"/>
</Trigger>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Foreground" Value="Pink"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>