canvas控件:
<Canvas x:Name="canvas" HorizontalAlignment="Left" Height="30" VerticalAlignment="Top" Width="480" Background="#FF4BC295" RenderTransformOrigin="0.5,0.5" Margin="0,32,0,0" Visibility="Visible">
<Canvas.RenderTransform>
<CompositeTransform/>
</Canvas.RenderTransform>
<TextBlock x:Name="txb_message" Width="480"
TextWrapping="Wrap" VerticalAlignment="Center" TextAlignment="Center" HorizontalAlignment="Center"/>
</Canvas>
声明全局StoryBoard:
Storyboard sboard = new Storyboard();
创建Storyboard:
void MainPage_Loaded(object sender, RoutedEventArgs e)
{
DoubleAnimation transformx = new DoubleAnimation();
//设置canvas件的垂直位置变化
transformx.SetValue(Storyboard.TargetNameProperty, "canvas");
transformx.SetValue(Storyboard.TargetPropertyProperty,
new PropertyPath("(UIElement.RenderTransform).(CompositeTransform.TranslateY)"));
//垂直位置从0到80
transformx.From = 0;
transformx.To = 80;
transformx.Duration = new Duration(new TimeSpan(0, 0, 5));
sboard.Children.Add(transformx);
this.LayoutRoot.Resources.Add("Storyboard1", sboard);
}
点击播放动画:
private void Button_Click(object sender, RoutedEventArgs e)
{
sboard.Begin();
}
参考:http://blog.youkuaiyun.com/lianchangshuai/article/details/7419386