zoukankan      html  css  js  c++  java
  • silverlight学习之storyboard (动画)

    利用silverlight的storyboard可以很方便的制作一些简单的“动画”,比如控制一些控件double类型或者color类型的属性值的变化。下面简单地说其中最简单的两个方面:DoubleAnimation(控制控件double类型的属性)和ColorAnimation(控制控件Color类型的属性)。

    前提知识:DoubleAnimation是一个执行动画的动画对象,ColorAnimation也只是一个执行动画的动画对象,他们不是独立存在的,而是要寄存在管理动画的演示图板对象(storyboard对象)上。可以这样理解:DoubleAnimation、ColorAnimation只是storyboard的一个属性而已。

    XAML代码:

     1     <UserControl.Resources>
    2 <Storyboard x:Name="storyboard">
    3 <DoubleAnimation Storyboard.TargetName="rectangle1" Storyboard.TargetProperty="Width"
    4 From="160" To="300" Duration="0:0:2" AutoReverse="True" RepeatBehavior="forever">
    5 </DoubleAnimation>
    6 <ColorAnimation Storyboard.TargetName="rectangle1" Storyboard.TargetProperty="(rectangle1.Fill).Color"
    7 From="Blue" To="Red" Duration="0:0:5" AutoReverse="True" RepeatBehavior="forever">
    8 </ColorAnimation>
    9 <ColorAnimation Storyboard.TargetName="rectangle1" Storyboard.TargetProperty="(rectangle1.Stroke).Color"
    10 From="Green" To="Black" Duration="0:0:5" AutoReverse="True" RepeatBehavior="forever">
    11 </ColorAnimation>
    12 </Storyboard>
    13 </UserControl.Resources>
    14
    15 <Grid x:Name="LayoutRoot" Background="White">
    16 <Rectangle Height="100" HorizontalAlignment="Left" Margin="90,96,0,0" Name="rectangle1" Stroke="#FF16DB16"
    17 StrokeThickness="10" VerticalAlignment="Top" Width="200" Fill="#FFD83232" />
    18 </Grid>
    19 </UserControl>

    1、可以看到里面的控件就只有一个:矩形 Rectangle

    2、建立一个Storyboard对象

    3、在Storyboard里添加一个DoubleAnimation属性(暂且这么理解吧)
    Storyboard.TargetName:表示动画要作用于的控件

    Storyboard.TargetProperty:表示动画要作用于的控件的哪个属性

    From="160" :表示控件属性的初始值   To="300" :表示控件属性值的结束值

    Duration="0:0:2" :表示要经历的时间 ,表是   时:分:秒    

    AutoReverse="True"  表示从From到To结束后再从To到From变化 。 RepeatBehavior="forever" 表示无限重复

    在ColorAnimation 属性里,我们想改变矩形的填充颜色,但这里要注意一下写法: Storyboard.TargetProperty = "(rectangle1.Fill).Color"

    因本人不想做UI美工方面的,所以在控件、界面上的东西就简单了解一下,不深究

  • 相关阅读:
    shell的执行顺序问题
    七层负载均衡——HAProxy
    不要自以为是码农
    SSL协议运行机制
    Linux启动流程
    MIM协议与Base64编码
    Adele的生活
    你值得拥有:25个Linux性能监控工具
    [Zabbix] 如何实现邮件报警通知以及免费短信报警通知
    php.ini中date.timezone设置分析
  • 原文地址:https://www.cnblogs.com/zouzf/p/2400445.html
Copyright © 2011-2022 走看看