Edw*_*ard 4 silverlight events animation keyframe
我需要在动画到达某个关键帧时调用方法.当动画到达某个关键帧时是否可以触发事件?如果没有,是否有更好的方法在某个时间触发事件?
Silverlight时间表在事件方面非常有限.据我所知,只支持Completed事件.您可以做的是在单个故事板中有两个时间轴,其中第二个时间轴正在更新您可以观看的绑定属性.
也许是这样的:
<Storyboard>
<DoubleAnimationusingKeyFrames ... />
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="TriggerEvent">
<ObjectKeyFrame KeyTime="00:00:01" Value="True" />
<ObjectAnimationUsingKeyFrames>
</Storyboard>
Run Code Online (Sandbox Code Playgroud)
然后在控件的代码后面,定义一个名为TriggerEvent的依赖属性,类型为Boolean.当它变为true时,请调用您的方法.
然而,实际上可能更好的另一个选择是将原始动画分成两个平行的时间轴,并将Completed事件处理程序连接到第一个时间轴(用于调用方法),然后在第二个时间轴上,使用BeginTime属性用于同步两个动画,以便第二个动画在第一个动画完成时拾取.
<Storyboard>
<!-- Timeline 1 -->
<DoubleAnimationusingKeyFrames Completed="MyCompletedHandler" ... />
<!-- Timeline 2 -->
<DoubleAnimationUsingKeyFrames BeginTime="00:00:01" ... />
</Storyboard>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1227 次 |
| 最近记录: |