我使用 DoubleAnimationUsingKeyFrames 制作动画,我需要使用触发器打开动画的第一部分。我怎么能这样做?
<Storyboard x:Key="TargetStoryboard">
<DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="TargetArea" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)">
<SplineDoubleKeyFrame KeyTime="00:00:0.0000000" Value="0.001"/>
<SplineDoubleKeyFrame KeyTime="00:00:0.6000000" Value="1"/>
<SplineDoubleKeyFrame KeyTime="00:00:3.6000000" Value="1"/>
<SplineDoubleKeyFrame KeyTime="00:00:4.3000000" Value="0"/>
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="TargetArea" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.Y)">
<SplineDoubleKeyFrame KeyTime="00:00:0.0000000" Value="-60"/>
<SplineDoubleKeyFrame KeyTime="00:00:0.6000000" Value="-222"/>
<SplineDoubleKeyFrame KeyTime="00:00:3.6000000" Value="-222"/>
<SplineDoubleKeyFrame KeyTime="00:00:4.8000000" Value="3.35"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
它必须是这样的,但它不起作用。
<Storyboard x:Key="TargetStoryboard">
<Trigger Property="dAnimTrigger" Value="True">
<Trigger.EnterActions>
<DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="TargetArea" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)">
<SplineDoubleKeyFrame KeyTime="00:00:0.0000000" Value="0.001"/>
<SplineDoubleKeyFrame KeyTime="00:00:0.6000000" Value="1"/>
<SplineDoubleKeyFrame KeyTime="00:00:3.6000000" Value="1"/>
<SplineDoubleKeyFrame KeyTime="00:00:4.3000000" Value="0"/>
</DoubleAnimationUsingKeyFrames>
</Trigger.EnterActions>
</Trigger>
<DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="TargetArea" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.Y)">
<SplineDoubleKeyFrame KeyTime="00:00:0.0000000" Value="-60"/>
<SplineDoubleKeyFrame KeyTime="00:00:0.6000000" Value="-222"/>
<SplineDoubleKeyFrame KeyTime="00:00:3.6000000" Value="-222"/>
<SplineDoubleKeyFrame KeyTime="00:00:4.8000000" Value="3.35"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
请帮我解决这个问题。
答案 0 :(得分:0)
使用EnterActions和ExitActions内的beginstoryboard更改触发器
请查看以下代码:
<Trigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="Opacity"
To="1" Duration="0:0:1" />
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
<Trigger.ExitActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="Opacity"
To="0.25" Duration="0:0:1" />
</Storyboard>
</BeginStoryboard>
</Trigger.ExitActions>
</Trigger>