WPF,动画为什么会无限次数执行

.Net技术 码拜 7年前 (2015-11-12) 1093次浏览
<Button Content="Button" HorizontalAlignment="Stretch" Margin="193,114,0,0" VerticalAlignment="Top" Width="75" Height="30">
    <Button.Triggers>
        <EventTrigger RoutedEvent="Loaded">
            <BeginStoryboard>
                <Storyboard>
                    <DoubleAnimation BeginTime="0:0:2" RepeatBehavior="6" Storyboard.TargetProperty="Width" To="150" Duration="0:0:4"/>
                </Storyboard>
            </BeginStoryboard>
        </EventTrigger>
    </Button.Triggers>
</Button>

设置了动画的重复次数为6次,可结果是无限次数的重复,why ?

解决方案:26分
改成RepeatBehavior=”6x”
 RepeatBehavior 具有三种可能的模式:持续时间、迭代次数或文本 Forever。 假如字符串中没有文本 x,则采用持续时间模式。 若要以秒为单位指定持续时间,必须在值之前附加“0:0:”,原因是持续时间的格式为 [days.]hours:minutes:seconds。 
解决方案:8分
 将RepeatBehavior=”6″修改为RepeatBehavior=”6x”,这样重复6次后停止
解决方案:26分
RepeatBehavior:说明Timeline在重复的次数。这个属性能够被设为三种类型的值:重复次数,一个时间段,以及一个特殊值“Forever”。
“Forever”使Timeline不断地重复。
一个时间段表示Timeline运行的时间长度。例如,将一个Duration为2.5秒的动画的RepeatBehavior设为“0:0:5”会使动画重复两次。
重复次数指定了Timeline运行的次数。您使用下面的语法来指定重复次数:重复次数x。例如,“4x”表示Timeline重复四次。
该属性默认值为“1x”,表示时间线只会执行一次。
解决方案:10分
http://msdn.microsoft.com/zh-SG/library/system.windows.media.animation.repeatbehavior.forever(v=vs.100).aspx
给你个官方解释看看吧 里面例子里有

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明WPF,动画为什么会无限次数执行
喜欢 (0)
[1034331897@qq.com]
分享 (0)