Wpf 无法为iPressed事件设置MenuItem的后台属性
我想在按下菜单项时更改菜单项的背景Wpf 无法为iPressed事件设置MenuItem的后台属性,wpf,wpf-controls,styling,Wpf,Wpf Controls,Styling,我想在按下菜单项时更改菜单项的背景 <Style x:Key="{x:Type MenuItem}" TargetType="MenuItem"> <Style.Triggers> <Trigger Property="MenuItem.IsPressed" Value="True"> <Setter Property="MenuItem.Background" Value="#FFE389" />
<Style x:Key="{x:Type MenuItem}" TargetType="MenuItem">
<Style.Triggers>
<Trigger Property="MenuItem.IsPressed" Value="True">
<Setter Property="MenuItem.Background" Value="#FFE389" />
<Setter Property="MenuItem.BorderBrush" Value="#C2762B" />
</Trigger>
</Style.Triggers>
</Style>
我试着做了上述操作,但触发器似乎不起作用。触发错误吗
更新:它适用于IsMouseOver事件,但IsPressed似乎不起作用
更新2:它适用于TopLevelMenuItems,但不适用于TopLevelMenuHeaderItems。
试试这个……它不在属性名称前面加上
MenuItem
,并修改TargetType
和x:Key
语法
<Style x:Key="MyStyle" TargetType="{x:Type MenuItem}">
<Style.Triggers>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Background" Value="#FFE389" />
<Setter Property="BorderBrush" Value="#C2762B" />
</Trigger>
</Style.Triggers>
</Style>
编辑:
根据您的更新,查看默认的
MenuItem
是如何使用的。这将为MenuItem
的不同部分提供样式设置。注意在菜单项
样式中使用角色
属性处理顶级和下级的标题和项目。@Proximo添加了对MSDN菜单项默认样式的引用,应该可以帮助您找到需要的地方