为什么它不想改变它的颜色? 它始终以默认颜色突出显示。
<Menu>
<Menu.Resources>
<Style TargetType="{x:Type MenuItem}">
<Style.Triggers>
<Trigger Property="IsHighlighted" Value="True">
<Setter Property="Background" Value="Black"/>
</Trigger>
</Style.Triggers>
</Style>
</Menu.Resources>
<MenuItem Header="Menu" Margin="6" Foreground="White" FontSize="14" FontFamily="Times New Roman">
<MenuItem Header="Add Invoice" Command="{Binding AddInvoice}"/>
<MenuItem Header="Invoices List" Command="{Binding AddInvoiceList}" FontFamily="Tahoma" />
</MenuItem>
<Menu.Background>
<SolidColorBrush />
</Menu.Background>
</Menu>
答案 0 :(得分:1)
问题是您的menuitem适用于所有菜单项,包括主菜单和子菜单。这是因为它们都是菜单项。
要解决此问题,您可以在window.resources中添加样式,并引用该样式。你也想使用&#34; IsMouseOver&#34;触发器。
in
<Window.Resources>
<Style x:Key="MenuItemWithHighlighting" TargetType="{x:Type MenuItem}">
<Style.Triggers>
<Trigger Property="IsMouseOver"
Value="True">
<Setter Property="Foreground"
Value="Blue" />
</Trigger>
</Style.Triggers>
</Style>
</Window.Resources>
然后您的菜单项可以引用该资源。
<MenuItem Header="Menu" Margin="6" Foreground="White" FontSize="14" FontFamily="Times New Roman">
<MenuItem Header="Add Invoice" Command="{Binding AddInvoice}"
Style={StaticResource MenuItemWithHighlighting}" />
<MenuItem Header="Invoices List" Command="{Binding AddInvoiceList}" FontFamily="Tahoma" Style={StaticResource MenuItemWithHighlighting}" />
</MenuItem>