Silverlight开发历程—C#代码添加动画
2011-12-22 14:31
330 查看
XAML:
<Canvas x:Name="LayoutRoot" Background="White">
<Canvas x:Name="canvas_parent" />
</Canvas>
C#:
public AnimationWithCSharp()
{
InitializeComponent();
//创建椭圆对象
Ellipse ellipse = new Ellipse();
ellipse.Width = 150;
ellipse.Height = 150;
ellipse.Fill = new SolidColorBrush(Color.FromArgb(255, 255, 0, 0));
//添加到Canvas中
canvas_parent.Children.Add(ellipse);
//创建Double动画
DoubleAnimation animation1 = new DoubleAnimation();
DoubleAnimation animation2 = new DoubleAnimation();
DoubleAnimation animation3 = new DoubleAnimation();
//设置动画的From To属性
animation1.From = 20;
animation1.To = 400;
animation2.From = 20;
animation2.To = 250;
animation3.From = 30;
animation3.To = 150;
//设置动画时间
animation1.Duration = new Duration(new TimeSpan(0, 0, 0, 1));
animation2.Duration = new Duration(new TimeSpan(0, 0, 0, 1));
animation3.Duration = new Duration(new TimeSpan(0, 0, 0, 1));
//创建故事面板
Storyboard sb = new Storyboard();
//设置故事面板的时间
sb.Duration = new Duration(new TimeSpan(0, 0, 0, 1));
//设置动画是否重复播放
sb.RepeatBehavior = RepeatBehavior.Forever;
//添加三个动画到故事面板中
sb.Children.Add(animation1);
sb.Children.Add(animation2);
sb.Children.Add(animation3);
//设置动画的作用目标
Storyboard.SetTarget(animation1, ellipse);
Storyboard.SetTarget(animation2, ellipse);
Storyboard.SetTarget(animation3, ellipse);
//设置动画作用属性
Storyboard.SetTargetProperty(animation1,new PropertyPath("(Canvas.Left)"));
Storyboard.SetTargetProperty(animation2, new PropertyPath("(Canvas.Top)"));
Storyboard.SetTargetProperty(animation3, new PropertyPath("Height"));
//添加故事板到,Canvas中
canvas_parent.Resources.Add("storyboard", sb);
//开始播放动画
sb.Begin();
}运行结果:会有一个圆在不停的变换形状态和位置。
<Canvas x:Name="LayoutRoot" Background="White">
<Canvas x:Name="canvas_parent" />
</Canvas>
C#:
public AnimationWithCSharp()
{
InitializeComponent();
//创建椭圆对象
Ellipse ellipse = new Ellipse();
ellipse.Width = 150;
ellipse.Height = 150;
ellipse.Fill = new SolidColorBrush(Color.FromArgb(255, 255, 0, 0));
//添加到Canvas中
canvas_parent.Children.Add(ellipse);
//创建Double动画
DoubleAnimation animation1 = new DoubleAnimation();
DoubleAnimation animation2 = new DoubleAnimation();
DoubleAnimation animation3 = new DoubleAnimation();
//设置动画的From To属性
animation1.From = 20;
animation1.To = 400;
animation2.From = 20;
animation2.To = 250;
animation3.From = 30;
animation3.To = 150;
//设置动画时间
animation1.Duration = new Duration(new TimeSpan(0, 0, 0, 1));
animation2.Duration = new Duration(new TimeSpan(0, 0, 0, 1));
animation3.Duration = new Duration(new TimeSpan(0, 0, 0, 1));
//创建故事面板
Storyboard sb = new Storyboard();
//设置故事面板的时间
sb.Duration = new Duration(new TimeSpan(0, 0, 0, 1));
//设置动画是否重复播放
sb.RepeatBehavior = RepeatBehavior.Forever;
//添加三个动画到故事面板中
sb.Children.Add(animation1);
sb.Children.Add(animation2);
sb.Children.Add(animation3);
//设置动画的作用目标
Storyboard.SetTarget(animation1, ellipse);
Storyboard.SetTarget(animation2, ellipse);
Storyboard.SetTarget(animation3, ellipse);
//设置动画作用属性
Storyboard.SetTargetProperty(animation1,new PropertyPath("(Canvas.Left)"));
Storyboard.SetTargetProperty(animation2, new PropertyPath("(Canvas.Top)"));
Storyboard.SetTargetProperty(animation3, new PropertyPath("Height"));
//添加故事板到,Canvas中
canvas_parent.Resources.Add("storyboard", sb);
//开始播放动画
sb.Begin();
}运行结果:会有一个圆在不停的变换形状态和位置。
![](http://hi.csdn.net/attachment/201112/22/0_1324535632mGLj.gif)
相关文章推荐
- Silverlight开发历程—C#代码添加动画
- Silverlight开发历程—C#代码添加动画
- Silverlight开发历程—C#代码添加动画
- Silverlight开发历程—(利用C#代码制作取色器)
- C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(二十二)重构 – 让代码插上翅膀自由飞翔
- C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(二十二)重构 – 让代码插上翅膀自由飞翔
- Silverlight开发历程—(利用C#代码制作取色器)
- C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(二十二)重构 – 让代码插上翅膀自由飞翔
- Silverlight开发历程—(利用C#代码制作取色器)
- Silverlight开发历程—(利用C#代码制作取色器)
- C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(二十二)重构 – 让代码插上翅膀自由飞翔
- C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(十七) 完美精灵之八面玲珑(WPF Only)①
- C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(三十) 大法师 – 华丽经典之轮回
- C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(三十七)地图自适应区域加载
- C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(二十一)主位式地图移动模式
- C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(二十三)自适应性窗口化与全屏化(WPF Only)
- 史上最全的CSS hack方式一览 jQuery 图片轮播的代码分离 JQuery中的动画 C#中Trim()、TrimStart()、TrimEnd()的用法 marquee 标签的使用详情 js鼠标事件 js添加遮罩层 页面上通过地址栏传值时出现乱码的两种解决方法 ref和out的区别在c#中 总结
- C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(四十九) 落雷!治疗!陷阱!连锁闪电!多段群伤!魔法之终极五重奏②
- C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(三十五)地图编辑器的初步使用
- C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(二)让物体动起来②