一步一步学Silverlight :使用Transform实现更炫的效果(下)
[1] 一步一步学Silverlight :使用Transform实现更炫的效果(下)
[2] 一步一步学Silverlight :使用Transform实现更炫的效果(下)
[3] 一步一步学Silverlight :使用Transform实现更炫的效果(下)
[2] 一步一步学Silverlight :使用Transform实现更炫的效果(下)
[3] 一步一步学Silverlight :使用Transform实现更炫的效果(下)
实现动画变换
Transform与Silverlight中的Storyboard结合,可以很容易的实现出动画变换的效果,如下面的例子,当鼠标放在上去的时候,图片开始旋转;鼠标离开时停止旋转:
<Canvas Background="#CDFCAE"> <Canvas.Resources> <Storyboard x:Name="myStoryboard"> <DoubleAnimation Storyboard.TargetName="myTransform" Storyboard.TargetProperty="Angle" From="0" To="180" Duration="0:0:5" RepeatBehavior="Forever" /> </Storyboard> </Canvas.Resources> <Image x:Name="imgTarget" Source="a1.png" Canvas.Left="180" Canvas.Top="80" MouseEnter="imgTarget_MouseEnter" MouseLeave="imgTarget_MouseLeave"> <Image.RenderTransform> <RotateTransform x:Name="myTransform" Angle="15" CenterX="120" CenterY="68" /> </Image.RenderTransform> </Image> </Canvas>
在代码中控制Storyboard:
private void imgTarget_MouseEnter(object sender, MouseEventArgs e) { myStoryboard.Begin(); } private void imgTarget_MouseLeave(object sender, MouseEventArgs e) { myStoryboard.Stop(); }
运行后效果如下:
当鼠标放上后将开始旋转: