C# 仅在鼠标左键时自动反转为原始颜色

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>

我正在.Net framework 4中使用WPF。
我创建了一个背景颜色为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”属性对我来说非常合适(使用不透明度双动画)