我正在开发WPF菜单。我现在有这个菜单:
当菜单悬停时,它看起来像Users
menuItem。这是背后的代码:
<Menu Grid.Column="0" Name="menuNavigation" >
<MenuItem Header="Users" >
<MenuItem Header="Register user">
<MenuItem ToolTip="Register new user on database." />
</MenuItem>
<MenuItem Header="Admin users">
<MenuItem ToolTip="Update or delete a user." />
</MenuItem>
</MenuItem>
<MenuItem Header="Identify">
<MenuItem ToolTip="Start an identification." />
</MenuItem>
<MenuItem Header="Authenticate">
<MenuItem ToolTip="Start an authentication." />
</MenuItem>
<MenuItem Header="Cameras">
<MenuItem ToolTip="Manage connected cameras." />
</MenuItem>
</Menu>
我希望浅蓝色边框消失,我试图模拟特殊效果。当我将它悬停时,我想要一个围绕这个词的白色括号,就像强调它一样。
有人能告诉我如何开始这个吗?
修改
我可以访问IsMouseOver
事件,但它似乎无视我。我现在有这样的造型:
<!-- Menu navigation properties -->
<Style TargetType="Menu">
<Setter Property="Background" Value="{DynamicResource TopMenuGradient}" />
<Setter Property="HorizontalAlignment" Value="Right" />
<Setter Property="Foreground" Value="White" />
<Setter Property="FontFamily" Value="Calibri" />
<Setter Property="FontSize" Value="18" />
<Setter Property="FontWeight" Value="Bold" />
<Setter Property="Height" Value="50" />
</Style>
<!-- MenuItem Style -->
<Style TargetType="MenuItem">
<Setter Property="BorderThickness" Value="0" />
<Setter Property="Height" Value="50" />
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True" >
<Setter Property="Foreground" Value="LightGray" />
<Setter Property="Background" Value="White" />
</Trigger>
</Style.Triggers>
</Style>
我可以删除淡蓝色边框,但我想更改Background
属性,但MenuItem
样式似乎忽略了我...部分。我的意思是:Foreground
有效......但不是Background
!怎么了?