概述
Silverlight 2 Beta 1版本发布了无论从Runtime还是Tools都给我们带来了很多惊喜如支持框架语言Visual Basic, Visual C#, IronRuby, Ironpython对JSON、Web Service、WCF以及Sockets支持等系列新特性步步学Silverlight 2系列文章将从Silverlight 2基础知识、数据和通信、自定义Control控件、动画、图形图像等几个方面带您快速进入Silverlight 2开发
本文我们再实现个图形图像例子——图片播放并利用Storyboard实现些动画效果
今天我也当回“标题当”:)其实就是实现个简单图片播放器跟“功夫的王”剧照半点关系也没有只不过我上网找了几张即将播出电影功夫的王剧照作为我们举例图片
实现效果
最终我们实现效果如下界面
点击左边或者右边小图片播放
再来张播放中
主要实现
在单击时动态改变图片Source属性:
void Play
{
currentImg.Source = BitmapImage( Uri(index. + ".png", UriKind.Relative));
left = index MIN ? MAX : index - 1;
leftImg.Source = BitmapImage( Uri(left. + ".png", UriKind.Relative));
right = index MAX ? MIN : index + 1;
rightImg.Source = BitmapImage( Uri(right. + ".png", UriKind.Relative));
}
并通过Storyboard来改变Transform些值实现动画效果:
<Canvas.Resources>
<Storyboard x:Name="myStoryboard">
<DoubleAnimation
Storyboard.TargetName="myTransform"
Storyboard.TargetProperty="AngleY"
From="0" To="180" Duration="0:0:5" RepeatBehavior="1x"/>
<DoubleAnimation
Storyboard.TargetName="leftScaleTransform"
Storyboard.TargetProperty="ScaleX"
From="0" To="1" Duration="0:0:5" RepeatBehavior="1x"/>
<DoubleAnimation
Storyboard.TargetName="leftScaleTransform"
Storyboard.TargetProperty="ScaleY"
From="0" To="1" Duration="0:0:5" RepeatBehavior="1x"/>
<DoubleAnimation
Storyboard.TargetName="rightScaleTransform"
Storyboard.TargetProperty="ScaleX"
From="0" To="1" Duration="0:0:5" RepeatBehavior="1x"/>
<DoubleAnimation
Storyboard.TargetName="rightScaleTransform"
Storyboard.TargetProperty="ScaleY"
From="0" To="1" Duration="0:0:5" RepeatBehavior="1x"/>
</Storyboard>
</Canvas.Resources
大家可以下载完整举例代码
结束语
本文实现了个简单图片播放器并利用Storyboard实现些动画效果
最新评论