【发布时间】:2015-05-11 15:55:42
【问题描述】:
我已尝试更改鼠标悬停事件的样式。
这是我的样式代码:
<Window.Resources>
<Style x:Key="NavigationButton"
TargetType="{x:Type Button}">
<Setter Property="Background" Value="#295fa6"/>
<Setter Property="BorderBrush" Value="{x:Null}"/>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="Red"/>
<Setter Property="BorderBrush" Value="{x:Null}"/>
</Trigger>
</Style.Triggers>
</Style>
</Window.Resources>
我就是这样使用它的:
<Button x:Name="test"
Grid.Column="0""
Style="{StaticResource NavigationButton}">
<Image Source="Assets/imaaa.png" />
</Button>
并且鼠标悬停仍然具有默认颜色
【问题讨论】:
-
因为默认模板使用动画(固定值)来改变背景,并且在Dependency Property Value Precedence 中几乎具有最高优先级。为此,您需要更改默认模板
-
已经回答了:stackoverflow.com/questions/6747709/… 此外,按钮应用了一个默认的控制模板,鼠标悬停行为来自那里。您可能想进一步了解它。