问题描述
我正在尝试在鼠标进入时为画布不透明度设置动画,但是我找不到在鼠标离开画布时设置动画的等效事件。
解决方法
这是一个简单的可重现示例,鼠标动画在画布上进入/离开:
<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>