您的位置:首页 > 编程语言

Silverlight 代码创建动画 原创示例

2010-02-09 20:11 363 查看
代码中使用了 C# 3.0 语法

效果是一个红色矩形从右下角移动到左上角

仅仅是示例,演示如何在代码中动态创建动画

MainPage.xaml.cs

using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

namespace Hongcing.Silverlight
{
public partial class Create_And_Run_Animation : UserControl
{
public Create_And_Run_Animation()
{
InitializeComponent();
}

private void LayoutRoot_Loaded(object sender, RoutedEventArgs e)
{
var redRectangle = new Rectangle
{
Width = 300,
Height = 200,
Fill = new SolidColorBrush(Colors.Red),
Stroke = new SolidColorBrush(Colors.Black)
};

(sender as Panel).Children.Add(redRectangle);

var leftAnimation = new DoubleAnimation
{
Duration = new Duration(TimeSpan.FromSeconds(5)),
From = 700,
To = 0
};

var topAnimation = new DoubleAnimation
{
Duration = leftAnimation.Duration,
From = 350,
To = 0
};

Storyboard.SetTarget(leftAnimation, redRectangle);
Storyboard.SetTarget(topAnimation, redRectangle);

//属性路径也可以用 new PropertyPath("(Canvas.Left)")、new PropertyPath("(Canvas.Top)")
Storyboard.SetTargetProperty(leftAnimation, new PropertyPath(Canvas.LeftProperty));
Storyboard.SetTargetProperty(topAnimation, new PropertyPath(Canvas.TopProperty));

//此处没有添加到资源中,而是直接启动动画。
new Storyboard { Children = { leftAnimation, topAnimation } }.Begin();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐