Style.Triggers 中的 MouseLeave 路由事件的等价物是什么?

问题描述

我正在尝试在鼠标进入时为画布不透明度设置动画,但是我找不到在鼠标离开画布时设置动画的等效事件。

解决方法

这是一个简单的可重现示例,鼠标动画在画布上进入/离开:

<Canvas x:Name="canvas" Width="100" Height="100" Background="Blue">
    <Canvas.Style>
        <Style TargetType="Canvas">
            <Setter Property="Opacity" Value="0.1"/>
            <Style.Triggers>
                <Trigger Property="IsMouseOver" Value="True">
                    <Trigger.EnterActions>
                        <StopStoryboard BeginStoryboardName="fadeout"/>
                        <BeginStoryboard x:Name="fadein">
                            <Storyboard>
                                <DoubleAnimation From="0.1" To="1.0" Duration="00:00:01" Storyboard.TargetProperty="Opacity" FillBehavior="HoldEnd"/>
                            </Storyboard>
                        </BeginStoryboard>
                    </Trigger.EnterActions>
                </Trigger>
                <Trigger Property="IsMouseOver" Value="False">
                    <Trigger.EnterActions>
                        <StopStoryboard BeginStoryboardName="fadein"/>
                        <BeginStoryboard x:Name="fadeout">
                            <Storyboard>
                                <DoubleAnimation From="1" To="0.1" Duration="00:00:01" Storyboard.TargetProperty="Opacity" FillBehavior="HoldEnd"/>
                            </Storyboard>
                        </BeginStoryboard>
                    </Trigger.EnterActions>
                </Trigger>
            </Style.Triggers>
        </Style>
    </Canvas.Style>
</Canvas>

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...