动画Storyboard

DoubleAnimation是“Double兼容类型(Double、Float、int等)值从**变为**”的动画,Storyboard.TargetName属性为动画作用的控件名,Storyboard.TargetProperty为作用的控件属性名,From为变化的起始值,To为变化的结束值。

DoubleAnimation其他属性,AutoReverse自动反向播放;

RepeatBehavior=“Forever”永远重复播放(在不需要的时候尽快停止,否则可能会导致计算机无法进入省电模式),如果想重复三次则设置为“3x”;

Duration:动画在From、To值之间变化时的持续时长

<pre name="code" class="html"><Page.Resources>
	<Storyboard x:Name="sb1">
		<DoubleAnimation Storyboard.TargetName="st1" Storyboard.TargetProperty="ScaleX" From="0" To="3" AutoReverse="True"></DoubleAnimation>
	</Storyboard>
	<Storyboard x:Name="sb2">
		<DoubleAnimation Storyboard.TargetName="pp1" Storyboard.TargetProperty="RotationY" From="0" To="360" Duration="00:00:03"></DoubleAnimation>
	</Storyboard>
</Page.Resources>
<Grid>
	<Button>
		<Button.RenderTransform>
			<ScaleTansform x:Name="st1"></ScaleTansform >
		</Button.RenderTransform>
		<Button.Projection>
			<ScaleTansform x:Name="pp1" RotationY="30"></ScaleTansform >
		</Button.Projection>
	</Button>
</Grid>

sb1.Begin();

除了DoubleAnimation之外,还有很多其他动画,这些动画都从TimeLine类继承,都有的属性:AutoReserve、RepeatBehavior、Duration、Completed事件(播放完成)、BeginTime(延迟播放,不是立即播放)。

指定EasingFunction属性可以设定动画的缓动曲线,BounceEase效果等。

图片翻转代码:

<pre name="code" class="html"><Page.Resources>
	<Storyboard x:Name="sbpp1">
		<DoubleAnimation Storyboard.TargetName="ppImg" Storyboard.TargetProperty="RotationX" From="0" To="90"></DoubleAnimation>
	</Storyboard>
	<Storyboard x:Name="sbpp2">
		<DoubleAnimation Storyboard.TargetName="ppImg" Storyboard.TargetProperty="RotationX" From="90" To="0"></DoubleAnimation>
	</Storyboard>
</Page.Resources>
<Grid>
	<Image Name="imgMM" Source="ms-appx:///Images/1.jpg">
		<Image.Projection>
			<PlaneProjection x:Name="ppImg"></PlaneProjection>
		</Image.Projection>
	</Image>
</Grid>


private void sbpp1_Completed(object sender, object e)
{
	imgMM.Source=new BitmapImage(new Uri("ms-appx:///Images/2.jpg"));
	sbpp2.Begin();
}
private void imgMM_Tapped(object sender, object e)
{
	sbpp1.Begin();
}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章