【发布时间】:2019-02-05 19:49:24
【问题描述】:
当鼠标悬停在两个按钮上时,我必须更改它们的颜色,我已经搜索并遵循了许多教程但无法使其工作。
这是应用的样式:
<Window.Resources>
<Style x:Key="btnStyleBase" TargetType="Button">
<Setter Property="Background" Value="Transparent"/>
<Setter Property="FontFamily" Value="{StaticResource FontAwesome}"/>
<Setter Property="Cursor" Value="Hand"/>
<Setter Property="Foreground" Value="White"/>
<Setter Property="Width" Value="42"/>
<Setter Property="Height" Value="40"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="FontSize" Value="24"/>
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Button.Background" Value="Transparent"/>
</Trigger>
</Style.Triggers>
</Style>
<Style x:Key="btnStyleClose" TargetType="{x:Type Button}" BasedOn="{StaticResource btnStyleBase}">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Button.Background" Value="Red"/>
</Trigger>
</Style.Triggers>
</Style>
</Window.Resources>
这是实现样式的按钮:
<Button Name="btn1" Style="{StaticResource btnStyleBase}" Click="..." />
<Button Name="btn2" Style="{StaticResource btnStyleClose}" Click="..." />
“IsMouseOver”属性被触发,但即使它可以应用任何其他设置器,按钮的背景仍保持默认浅蓝色
【问题讨论】: