zoukankan      html  css  js  c++  java
  • WPF : StoryBoard用法

    Storyboard storyBoard = new Storyboard();
    DoubleAnimation ani
    = new DoubleAnimation();
               
    ani.From
    = 0;
    ani.To
    = 360;
    ani.Duration
    = new Duration(TimeSpan.FromMilliseconds(5000));
    ani.RepeatBehavior
    = RepeatBehavior.Forever;
    storyBoard.Children.Add(ani);

    this.RegisterName("mRotationX", mRotationX);
    Storyboard.SetTargetName(ani,
    "mRotationX");
    Storyboard.SetTargetProperty(ani,
    new PropertyPath(AxisAngleRotation3D.AngleProperty));
    storyBoard.Begin(
    this, true); /////true表示controlable


                TimeSpan timeSpan = TimeSpan.FromMilliseconds(250);

               
    //创建一个Animation, 设置起点, 终点, 时段
                DoubleAnimation ani = new DoubleAnimation();
                ani.From
    = 4;
                ani.To
    = 0;
                ani.Duration
    = new Duration(timeSpan);           
                Storyboard.SetTargetName(ani,
    "Opacity");
                Storyboard.SetTargetProperty(ani,
    new PropertyPath(WindowMain.OpacityProperty));

               
    //创建一个Animation, 设置起点, 终点, 时段
                DoubleAnimation ani2 = new DoubleAnimation();
                ani2.From
    = this.mZoomSlider.Value;
                ani2.To
    = 2;
                ani2.Duration
    = new Duration(timeSpan);           
                Storyboard.SetTargetName(ani2,
    "Zoom");
                Storyboard.SetTargetProperty(ani2,
    new PropertyPath(Slider.ValueProperty));


               
    //创建StoryBoard
                Storyboard storyBoard = new Storyboard();
                  storyBoard.FillBehavior = FillBehavior.Stop;
                storyBoard.Completed
    += new EventHandler(storyBoard_Completed);
                storyBoard.Children.Add(ani);
                storyBoard.Children.Add(ani2);

               
    this.RegisterName("Opacity", this);
               
    this.RegisterName("Zoom", this.mZoomSlider);           
                storyBoard.Begin(
    this, true); /////////////////////////////////true表示controlable


    或者

    <Window.Triggers>
       
    <EventTrigger RoutedEvent="Window.Loaded" >
           
    <BeginStoryboard>
               
    <Storyboard Name="myStoryBoardX">
                   
    <DoubleAnimation
            Storyboard.TargetName
    ="rotationX" 
            Storyboard.TargetProperty
    ="Angle" 
            From
    ="0" To="360" Duration="0:0:15" RepeatBehavior="Forever"/>
               
    </Storyboard>
           
    </BeginStoryboard>
           
    <BeginStoryboard>
               
    <Storyboard Name="myStoryBoardY">
                   
    <DoubleAnimation
            Storyboard.TargetName
    ="rotationY" 
            Storyboard.TargetProperty
    ="Angle" 
            From
    ="0" To="360" Duration="0:0:12" RepeatBehavior="Forever"/>
               
    </Storyboard>
           
    </BeginStoryboard>
       
    </EventTrigger>
    </Window.Triggers>
  • 相关阅读:
    对post提交数据Content-Type的理解
    预加载的实现方式
    ajax跨域简单请求与复杂请求
    web前端图片模糊到清晰的实现过程
    vue子组件调用父组件的方法
    vue子组件如何向父组件传值
    如何实现下拉弹出框渐渐弹出
    DynamicObject扩展--实现JSON和DynamicObject的序列化与反序列化
    解决 Bash On Windows 下载慢或无法下载的问题
    NPOI扩展--判断指定单元格是否为合并单元格和输出该单元格的行列跨度(维度)
  • 原文地址:https://www.cnblogs.com/mrfangzheng/p/1179712.html
Copyright © 2011-2022 走看看