例如,我有一个动画,在点击鼠标时会触发。
问题是如果你一直点击动画就会重启。
我想保证动画始终完成。
想法?
答案 0 :(得分:2)
我发现的一个技巧是not include the "From" on my animations。这样,值将始终以您正在动画的属性的任何值开始。这意味着如果动画重新启动,它将不会将属性重置为其起始值,而是看起来像是继续原始动画。
答案 1 :(得分:0)
仍然不是您正在寻找的确切答案,但这解决了我遇到的一个问题,我遇到了一个MouseDown触发器,它在一个仍在运行的动画之上启动了一个新动画:
<BeginStoryboard>
<Storyboard AutoReverse="True">
<ColorAnimation Storyboard.TargetProperty="(Label.Foreground).(SolidColorBrush.Color)"
To="Red" Duration="0:0:1"/>
</Storyboard>
这个动画的问题是,当它在完成之前再次被触发时,自动反转功能将其反转为它在第二次触发之前达到的红色阴影,而不是它之前的原始颜色。第一部动画开始了。
在我的情况下,这很容易解决:
<BeginStoryBoard HandOffBehavior="Compose">
答案 2 :(得分:0)
我最终得到了类似下面的结果 - 从代码触发动画并设置一个标志,如果前一个动画尚未完成,则防止再次触发动画。我不确定,这可以在多大程度上完成 XAML-only ...
isset