zoukankan      html  css  js  c++  java
  • silverlight 故事板Storyboard

        动画是快速播放一系列图像(其中每个图像与下一个图像略微不同)给人造成的一种幻觉。大脑感觉这组图像是一个变化的场景。
    在silverlight中就是改变一个对象的熟悉来实现动画。比如我们2秒内渐渐改变一个按钮的高度。在silverlight中有个故事板的概念。
              //创建故事板
                Storyboard storyboard = new Storyboard();
               //创建一个线性插值动画  From为开始值 To为结束值 Duration为变化时间
                DoubleAnimation xAnimation = new DoubleAnimation() { 
                    From =Canvas.GetLeft(rectangle),
                    To =p .X ,
                    Duration=new Duration (TimeSpan.FromSeconds(2))
                }  ;
                // 设定插值动画要执行的对象
                Storyboard.SetTarget(xAnimation,rectangle);
                //设定插值动画要差值的属性
                Storyboard.SetTargetProperty(xAnimation, new PropertyPath("(Height)"));
                //把插值动画添加到故事板
                storyboard.Children.Add (xAnimation);
                //执行故事板的动画
                storyboard.Begin();

    1.Storyboard 可以看作用来装载动画规则的容器

    2.在silverlight中可以创建一下几种动画:

    属性类型

    对应的基本 (From/To/By) 动画

    对应的关键帧动画

    用法示例

    Color

    ColorAnimation

    ColorAnimationUsingKeyFrames

    对 SolidColorBrush 或 GradientStop 的 Color 进行动画处理。

    Double

    DoubleAnimation

    DoubleAnimationUsingKeyFrames

    对 Rectangle 的 Width 或 Ellipse 的 Height(或任意 FrameworkElement)进行动画处理。

    Point

    PointAnimation

    PointAnimationUsingKeyFrames

    对 EllipseGeometry 的 Center 位置进行动画处理。

    Object

    ObjectAnimationUsingKeyFrames

    对 Fill 属性进行动画处理,使其在不同的 GradientBrush 之间进行转换。

    代码中我们用了第二种动画DoubleAnimation

    动画的类型分为 From/To/By动画和关键帧动画

    类别

    说明

    命名约定

    From/To/By 动画

    在起始值和结束值之间进行动画处理:

    • 若要指定起始值,请设置动画的 From 属性。
    • 若要指定结束值,请设置动画的 To 属性。
    • 若要指定相对于起始值的结束值,请设置动画的 By 属性(而不是 To 属性)。

    此概述中的示例使用这些动画,因为这些动画最容易实现。

    typeAnimation

    关键帧动画

    在使用关键帧对象指定的一系列值之间播放动画。关键帧动画的功能比 From/To/By 动画的功能更强大,因为您可以指定任意多个目标值,甚至可以控制它们的插值方法。关键帧动画中详细描述了关键帧动画。

    typeAnimationUsingKeyFrames

    3.创建完了动画后需要把要执行的动画绑定到一个对象

    Storyboard.SetTarget(xAnimation,rectangle);

    4.绑定到对象后要设定动画执行的对象的属性

    Storyboard.SetTargetProperty(xAnimation, new PropertyPath("(Height)"));

    5.把动画添加到故事板

    storyboard.Children.Add (xAnimation);

    6.执行动画

    storyboard.Begin();
  • 相关阅读:
    体温单时间控件
    搭建Android 开发环境(精华)
    即时通讯
    车牌识别系统
    JSON 生成 C# Model
    Arduino 视频教程
    .Net主线程扑捉子线程中的异常
    用C#操作IIS创建虚拟目录和网站
    C#中简单的this与get的用法(string,decimal)
    c#读取Excel数据到Gridview
  • 原文地址:https://www.cnblogs.com/ac1985482/p/1921495.html
Copyright © 2011-2022 走看看