ColorAnimation - 在两个 Color 值之间做线性内插动画处理
DoubleAnimation - 在两个 Double 值之间做线性内插动画处理
PointAnimation - 在两个 Point 值之间做线性内插动画处理
内插关键帧动画 - 在 Color 或 Double 或 Point 动画中内插关键帧,以做线性, 离散, 三次贝塞尔曲线的动画处理
DoubleAnimation属性
Storyboard.TargetName - 要进行动画处理的对象的名称
Storyboard.TargetProperty - 要进行动画处理的对象的属性
BeginTime - 时间线在被触发 BeginTime 的时间后才能开始播放
TimeSpan - [-][日.]时:分:秒[.1位到7为的秒后的小数](可为正;可为负;可为空;默认值为 0)
From - 动画的起始值
To - 动画的结束值
By - 动画从起始值开始计算,所需变化的总量(To 优先于 By)
Duration - 时间线的持续时间
TimeSpan - [-][日.]时:分:秒[.1位到7为的秒后的小数]
Automatic - 自动确定
Forever - 无限长
AutoReverse - 动画完成后是否要原路返回。默认值为 false
RepeatBehavior - 动画重复播放的时间、次数或类型
TimeSpan - [-][日.]时:分:秒[.1位到7为的秒后的小数]
nx - 播放次数。1x, 2x, 3x
Forever - 永久播放
SpeedRatio - 时间线的速率的倍数。默认值 1
FillBehavior - 动画结束后的行为 [System.Windows.Media.Animation.FillBehavior枚举]
FillBehavior.HoldEnd - 动画结束后,保留动画属性的结束值。默认值
FillBehavior.Stop - 动画结束后,恢复动画属性为其初始值
![[转载]Silverlight之DoubleAnimation动画 [转载]Silverlight之DoubleAnimation动画](http://s16.sinaimg.cn/middle/4adf31eat935398db540f&690)
做了一个小Demo,当点击开始时,上面的红色方框会慢慢的消息。一直重复。四个按钮可以控制
xaml代码:
|
<Grid Name="grid1" Margin="6,8,263,272"> <Grid.ColumnDefinitions> <ColumnDefinition Width="75*" /> <ColumnDefinition Width="75*" /> <ColumnDefinition Width="75*" /> <ColumnDefinition Width="146*" /> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="31*" /> <RowDefinition Height="169*" /> </Grid.RowDefinitions> <StackPanel Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="4"> <StackPanel.Resources> <Storyboard x:Name="Storyboard1"> <DoubleAnimation Storyboard.TargetProperty="Opacity" Storyboard.TargetName="rectangle1" From="1.0" To="0.0" RepeatBehavior="Forever" Duration="0:0:5"> </DoubleAnimation> </Storyboard> </StackPanel.Resources> <Rectangle Fill="Red" Height="100" HorizontalAlignment="Left" Margin="68,44,0,0" Name="rectangle1" Stroke="#FFEB0000" StrokeThickness="1" VerticalAlignment="Top" Width="200">
</Rectangle> </StackPanel> <Button Content="开始" Grid.Row="0" Grid.Column="0" Grid.RowSpan="2" Height="23" HorizontalAlignment="Left" Name="button1" VerticalAlignment="Top" Width="75" Click="button1_Click" /> <Button Content="暂停" Grid.Row="0" Grid.Column="1" Grid.RowSpan="2" Height="23" HorizontalAlignment="Left" Name="button2" VerticalAlignment="Top" Width="75" Click="button2_Click" /> <Button Content="继续" Grid.Row="0" Grid.Column="2" Grid.RowSpan="2" Height="23" HorizontalAlignment="Left" Name="button3" VerticalAlignment="Top" Width="75" Click="button3_Click" /> <Button Content="停止" Grid.Row="0" Grid.Column="3" Grid.RowSpan="2" Height="23" HorizontalAlignment="Left" Name="button4" VerticalAlignment="Top" Width="75" Click="button4_Click" />
</Grid>
|
|
CS代码:
|
private void button1_Click(object sender, RoutedEventArgs e) {//动画开始 Storyboard1.Begin(); }
private void button2_Click(object sender, RoutedEventArgs e) {//暂停 Storyboard1.Pause(); }
private void button3_Click(object sender, RoutedEventArgs e) {//继续 Storyboard1.Resume(); }
private void button4_Click(object sender, RoutedEventArgs e) {//停止 Storyboard1.Stop(); }
|