仅在鼠标离开时自动反转为原始颜色

时间:2013-06-30 07:35:10

标签: c# wpf styles wpf-animation coloranimation

我在.Net framework 4.中使用WPF 我创建了一个背景色为X的按钮 我为按钮创建了一个样式,在IsMouseOver上启动ColorAnimation,将背景颜色更改为蓝色。

如果IsMouseOver为假(鼠标在按钮上没有记录器),我想将按钮背景恢复为颜色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>

我该怎么做?

1 个答案:

答案 0 :(得分:5)

您可以指定ExitActions以及EnterActions,并且不要设置To属性以使其回退到原始值 -

<Trigger.ExitActions>
    <BeginStoryboard>
        <Storyboard>
            <ColorAnimation Duration="0:0:0.5"
                Storyboard.TargetName="MyButton"
                Storyboard.TargetProperty="Background.Color"/>
        </Storyboard>
    </BeginStoryboard>
</Trigger.ExitActions>