我创建了一个带有投影效果的按钮。现在我想通过在运行时更改opacity属性来为此效果添加动画。但是这段代码不起作用:
<Button x:Name="btnRun" Content="Run" Click="btn_RunEventHandler" BorderThickness="1" >
<Button.Effect>
<DropShadowEffect Color="Red" ShadowDepth="0" BlurRadius="21" />
</Button.Effect>
<Button.Triggers>
<EventTrigger RoutedEvent="Button.MouseEnter">
<EventTrigger.Actions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimationUsingKeyFrames
Storyboard.TargetProperty="(DropShadowEffect.Opacity)"
Duration="0:0:1.6"
RepeatBehavior="Forever">
<LinearDoubleKeyFrame KeyTime="0:0:0" Value="1"/>
<LinearDoubleKeyFrame KeyTime="0:0:0.5" Value="1"/>
<LinearDoubleKeyFrame KeyTime="0:0:0.55" Value="0"/>
<LinearDoubleKeyFrame KeyTime="0:0:0.6" Value="1"/>
<LinearDoubleKeyFrame KeyTime="0:0:0.7" Value="1"/>
<LinearDoubleKeyFrame KeyTime="0:0:0.8" Value="0.6"/>
<LinearDoubleKeyFrame KeyTime="0:0:1" Value="1"/>
<LinearDoubleKeyFrame KeyTime="0:0:1.6" Value="1"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>
</Button.Triggers>
</Button>
答案 0 :(得分:3)
为您的DropShadow
提供一些名称
<DropShadowEffect Color="Red" x:Name="dropShadow" ShadowDepth="0" BlurRadius="21" />
并Opacity
TargetName
<DoubleAnimationUsingKeyFrames
Storyboard.TargetName="dropShadow"
Storyboard.TargetProperty="Opacity"
.../>