演练:让一个对象活起来 步骤 1:找一些东西作动画
首先,你需要一些东西来作动画。在本示例中你将使用一个 Ellipse。 下面的示例创建了一个 Ellipse 和初始化喷涂其为黑色。
[隐藏 XAML]
[隐藏] [重新开始]
注意 ellipse 有一个名字
x:Name="ellipse"
ellipse 需要一个名字以产生动画。 (更详细地说,一个 ellipse 需要一个名称以便它可以被 XAML 中任意地方定义的 animation 使用。 现在你有一个对象可供产生动画,下一步是创建一个 EventTrigger 来开始动画。
步骤 2:创建一个 EventTrigger一个 EventTrigger 当一些东西触发它时执行一个动作。 如其名字一样,“一些东西”是一个事件,由 RoutedEvent 属性标识。 因为你想让 EventTrigger 开始一个动画,所以 使用一个 BeginStoryboard 作为它的动作。
你也需要决定哪一个事件将触发动画。 在 Silverlight 1.0 中,可选的值很简单, 因为 EventTrigger 对象只支持一个事件, Loaded 事件。 设置 RoutedEvent 属性到 Canvas.Loaded。 当主 Canvas 读取时将开始一个动画, 下面的示例展示了标记这些内容。
[隐藏 XAML]
[隐藏] [重新开始]
现在你已经创建了一个 Storyboard 和一个动画。
步骤 3:创建一个 Storyboard 和一个动画一个 Storyboard 可以描述和控制一个或多个动画。 本示例,我们将使用一个单一的动画。在 Silverlight 中, 通过设置动画到对象的属性让对象活动起来。 使用一个 DoubleAnimation 使 Ellipse 的 Canvas.Left 属性活动起来。 你使用 DoubleAnimation 是由于该属性是动态的, Canvas.Left,是类型为 Double 的属性(一个双精度浮点数)。
要操作动画,你必须给它一个目标名称(Storyboard.TargetName="ellipse")、 一个目录属性(Storyboard.TargetProperty="(Canvas.Left)")、 一个用于动画的值(To="300")和一个 Duration(Duration="0:0:1")。 Duration 属性指定了动画从开始时间到结束时间转换的时间长度。 0:0:1 的值指定一个 Duration 是一秒钟。
(你可能需要在 QuickStart 的动画中单击“restart”, 由于你在查看本页的前一个示例时它可能已经运行了一次, 按照它的 Duration 和 RepeatBehavior 设置, 本动画将不会再运行直到你通过重新读取来重启代码。)
[隐藏 XAML]
[隐藏] [重新开始]
你使用 DoubleAnimation 作动画, Canvas.Left,类型是 Double (一个 Double 是一个双精度浮点数)。
恭喜!你刚刚创建你的第一个 Silverlight 动画。 如果你想学习更多的 Silverlight 动画系统,请继续阅读。