3
我想更改mouseOver上MenuItem的颜色。我还需要圆角边框,图像和文本框。当我设置样式一切正常时,只有mouseOverEvent做任何事情,背景不会改变。我的代码是:更改MouseOver上MenuItem的颜色
<Style x:Key="BaseStyle" TargetType="MenuItem">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter Property="Background" Value="#0a99f3" />
</Trigger>
<Trigger Property="IsKeyboardFocusWithin" Value="true">
<Setter Property="Background" Value="#0a99f3" />
</Trigger>
</Style.Triggers>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type MenuItem}">
<Grid>
<Border Name="MainBorder" BorderThickness="2,2,2,0" CornerRadius="8,8,8,8" Margin="0,0,1,0" BorderBrush="AliceBlue">
<Grid>
<TextBlock Text="Info" Margin="30,10,0,0" FontFamily="Arial" FontSize="14" FontWeight="Bold" />
<Image Width="15" Height="15" Source="menu.PNG" Margin="-100,0,0,0" />
</Grid>
</Border>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
希望有人知道我失踪了。谢谢!
谢谢!现在,它的工作原理...只有MenuItem是矩形的,它只显示我圆形的边框。我想只看到圆形的边框被着色。你能帮助我吗? – user599977 2012-01-09 15:37:00
@ user599977设置您的'Border'对象的背景而不是'Grid' – Rachel 2012-01-09 15:44:15
谢谢!它工作正常! – user599977 2012-01-09 15:47:54