C# 仅在鼠标左键时自动反转为原始颜色
我正在.Net framework 4中使用WPF。C# 仅在鼠标左键时自动反转为原始颜色,c#,wpf,styles,wpf-animation,coloranimation,C#,Wpf,Styles,Wpf Animation,Coloranimation,我正在.Net framework 4中使用WPF。 我创建了一个背景颜色为X的按钮。 我为按钮创建了一个样式,该按钮位于IsMouseOver start ColorAnimation上,可将背景色更改为蓝色 如果IsMouseOver为false(鼠标在按钮上没有logner),我想将按钮背景恢复为X色 示例代码: <Trigger Property="IsMouseOver" Value="True"> <Trigger.EnterActions>
我创建了一个背景颜色为X的按钮。
我为按钮创建了一个样式,该按钮位于IsMouseOver start ColorAnimation上,可将背景色更改为蓝色 如果IsMouseOver为false(鼠标在按钮上没有logner),我想将按钮背景恢复为X色 示例代码:
<Trigger Property="IsMouseOver" Value="True">
<Trigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<ColorAnimation Duration="0:0:0.5" Storyboard.TargetName="MyButton" Storyboard.TargetProperty="Fill.Color" To="Blue"/>
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
</Trigger>
如何操作?您可以指定
退出操作
以及进入操作
,并且不要将设置为
属性,使其返回原始值-
<Trigger.ExitActions>
<BeginStoryboard>
<Storyboard>
<ColorAnimation Duration="0:0:0.5"
Storyboard.TargetName="MyButton"
Storyboard.TargetProperty="Background.Color"/>
</Storyboard>
</BeginStoryboard>
</Trigger.ExitActions>
编写一个触发器,侦听IsMouseOver值是否为false?我已经这么做了。在这种情况下,我需要设置要设置为回滚颜色的颜色。我想在更改之前自动使用以前的颜色。使用RemoveStoryBoard我想返回以前的背景颜色,但我不知道它是什么。我只是想把零钱退回来。。。你知道怎么做吗?是的。。。。这是我第一次尝试。。。自动翻转在动画完成后自动启动,而不是IsMouseOver的结果为false。有什么想法吗??请?您需要使用ExitActions
,然后不要将属性设置为
。它将自动返回到原始值。您应该编辑您的答案。自动翻转不是这样工作的。不设置“To”属性对我来说非常合适(使用不透明度双动画)