先制作一个Story,并且设定对象:
后台代码分析:
1、有关动画属性参数的设置代码 :
//设置动画是否回卷操作
leftEllipseStory.AutoReverse = true;
//设置动画将要开始的时间,在此可设置其延迟开始的时间
leftEllipseStory.BeginTime = System.TimeSpan.FromSeconds(1);
//当动画到达其活动时间的结束时点时将如何动作
leftEllipseStory.FillBehavior = FillBehavior.Stop;
//修改RepeatBehavior属性方法示例
#region RepeatBehavior示例一
//leftEllipseStory.RepeatBehavior =RepeatBehavior.Forever; //设置重复动画的次数
// 一个迭代 Count,指定时间线将要播放的次数;
// 一个 TimeSpan 值,指定此时间线活动周期的总长度;
// 或者特殊值 Forever,指定时间线应该无限重复。
//默认值是 RepeatBehavior 的 Count 为 1,该值指示时间线播放一次。
#endregion
#region RepeatBehavior示例二
RepeatBehavior rbc = new RepeatBehavior(6);
leftEllipseStory.RepeatBehavior = rbc;
#endregion
//Duration表示 Timeline 处于活动状态的持续时间
Duration dr = new Duration(TimeSpan.FromMilliseconds(500));
leftEllipseStory.Duration = dr;
//指定此时间线的时间相对于其父级速度的前进速率,越大越快
leftEllipseStory.Speedratio = 7; //一个大于 0 的有限值,指定此时间线的时间相对于其父级速度的前进速率。
//如果此时间线为根时间线,则此属性指定默认时间线速度。该值用因子表示,
//其中 1 表示正常速度,2 表示双倍速度,0.5 为半速,依此类推。
2、有关动画控制的代码
leftEllipseStory.Begin();
leftEllipseStory.Pause();
leftEllipseStory.Resume();
leftEllipseStory.Stop();
3、有关指派动画给指定控件的代码,共有三种方式来达到此目的
#region 方法一
this.leftEllipseStory.SetValue(Storyboard.TargetNameProperty,"ellipseRight"); //通过代码动态设定TargetNameProperty值,从而把某个动画指定给某个控件
#endregion
#region 方法二
Storyboard.SetTargetName(leftEllipseStory,"ellipseRight"); //把对象的名称传递给leftEllipseStory
#endregion
#region 方法三
Storyboard.SetTarget(leftEllipseStory,ellipseRight); //把对象传递给leftEllipseStory
#endregion
4、有关动态创建动画并进行指派的代码 Storyboard newstb = new Storyboard(); Storyboard.SetTarget(newstb,ellipseRight); //注意:在此处不能用 Storyboard.SetTargetName(newstb,"ellipseRight")方法 DoubleAnimation newDbAnim = new DoubleAnimation(); newDbAnim.From = 1.00; newDbAnim.To = 0.0; Storyboard.SetTargetProperty(newDbAnim,new PropertyPath("(UIElement.Opacity)")); newstb.Children.Add(newDbAnim);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。