WPF 按钮Style 效果失效的有关问题
WPF 定义按钮样式:
<Style x:Key="ButtonStyle" TargetType="{x:Type Button}">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="Orange"/>
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Background" Value="Orange"/>
</Trigger>
</Style.Triggers>
</Style>
按钮调用方法:
<Button Content="登录" Style="{StaticResource ButtonStyle}"/>
在win7下实际效果是,当鼠标移到按钮上,按钮变Orange后,马上恢复按钮默认颜色。鼠标按下也不会变色
是我调用错了吗?
------解决方案--------------------
<Trigger Property="IsPressed" Value="True">
<Setter Property="Background" Value="Orange"/>
</Trigger>
这句改下,把Orange改为#ccc
------解决方案--------------------
样式触发器没有问题但是这样改是没有用的。
Button默认模板中IsMouseOver属性有他自己的样式。
要想修改默认样式只能修改Button 内容模板
------解决方案--------------------
2楼正解!
------解决方案--------------------
如果样式定义在页面的Resource里面可以用下面方法
<Button Content="登录" Style="{StaticResource ButtonStyle}"/>
如果样式定义在Application中,则需要用下面的方式
<Button Content="登录" Style="{DynamicResource ButtonStyle}"/>