WPF 故事板动画示例

WPF做动画比较方便;
Storyboard和Animation,你只要指定一些属性值,比如开始值和结束值、由开始值到达结束值所需的时间、需要动画的属性,便可形成一个简单的动画。
可以在xaml代码里指定;也可以在C#代码里指定;可以在C#代码里引用xaml代码里的控件;

下面指定长方形的宽度由100变化到200,所需时间为1秒;

<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
 
  WindowTitle="Storyboards Example">
  <StackPanel Margin="20">
    
    <Rectangle Name="MyRectangle"
      Width="100"
      Height="100">
      <Rectangle.Fill>
        <SolidColorBrush x:Name="MySolidColorBrush" Color="Green" />
      </Rectangle.Fill>
      <Rectangle.Triggers>
        <EventTrigger RoutedEvent="Page.Loaded">
          <BeginStoryboard>
            <Storyboard RepeatBehavior="Forever" AutoReverse="True">
              <DoubleAnimation 
                Storyboard.TargetName="MyRectangle"
                Storyboard.TargetProperty="Width"
                From="100" To="200" Duration="0:0:1" />              
            </Storyboard>
          </BeginStoryboard>
        </EventTrigger>
      </Rectangle.Triggers>
    </Rectangle> 
  </StackPanel>
</Page>

效果如下;一个长方形持续在改变宽度;

WPF的动画有一个比较有用的特性;就是它动画结束会触发一个事件;可在此事件执行一些需要的代码;

以前开发体感项目时,因为用户用体感进行手势操作,并不像鼠标键盘那么自如,经常需要屏幕有明确的提示下一步操作;
以前做的体感进入下一级菜单是,用户抬起手臂和身体成一个夹角,就触发一个光圈动画,动画时间是30秒;30秒光圈从头转到尾;如果在30秒内,用户放下手臂,就停止动画,菜单停留在当前级;如果用户一直保持抬起手臂和身体成一个夹角,光圈转完后,触发一个事件,在此事件中读取下一级菜单文本,加载下一级菜单;进入到下一级菜单;

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值