• Silverlight开发历程—C#代码添加动画


    XAML:

    <Canvas x:Name="LayoutRoot" Background="White">
            <Canvas x:Name="canvas_parent" />
        </Canvas>

    C#:

      public AnimationWithCSharp()
            {
                InitializeComponent();
                //创建椭圆对象
                Ellipse ellipse = new Ellipse();
                ellipse.Width = 150;
                ellipse.Height = 150;
                ellipse.Fill = new SolidColorBrush(Color.FromArgb(255, 255, 0, 0));
                //添加到Canvas中
                canvas_parent.Children.Add(ellipse);
                //创建Double动画
                DoubleAnimation animation1 = new DoubleAnimation();
                DoubleAnimation animation2 = new DoubleAnimation();
                DoubleAnimation animation3 = new DoubleAnimation();
                //设置动画的From   To属性
                animation1.From = 20;
                animation1.To = 400;
                animation2.From = 20;
                animation2.To = 250;
                animation3.From = 30;
                animation3.To = 150;
                //设置动画时间 
                animation1.Duration = new Duration(new TimeSpan(0, 0, 0, 1));
                animation2.Duration = new Duration(new TimeSpan(0, 0, 0, 1));
                animation3.Duration = new Duration(new TimeSpan(0, 0, 0, 1));
                //创建故事面板
                Storyboard sb = new Storyboard();
                //设置故事面板的时间
                sb.Duration = new Duration(new TimeSpan(0, 0, 0, 1));
                //设置动画是否重复播放
                sb.RepeatBehavior = RepeatBehavior.Forever;
               //添加三个动画到故事面板中
                sb.Children.Add(animation1);
                sb.Children.Add(animation2);
                sb.Children.Add(animation3);
                //设置动画的作用目标
                Storyboard.SetTarget(animation1, ellipse);
                Storyboard.SetTarget(animation2, ellipse);
                Storyboard.SetTarget(animation3, ellipse);
                //设置动画作用属性
                Storyboard.SetTargetProperty(animation1,new PropertyPath("(Canvas.Left)"));
                Storyboard.SetTargetProperty(animation2, new PropertyPath("(Canvas.Top)"));
                Storyboard.SetTargetProperty(animation3, new PropertyPath("Height"));
                //添加故事板到,Canvas中
                canvas_parent.Resources.Add("storyboard", sb);
                //开始播放动画
                sb.Begin();
            }
    运行结果:会有一个圆在不停的变换形状态和位置。



  • 相关阅读:
    ASP.NET Core Docker部署
    Asp.net core WebApi 使用Swagger生成帮助页实例
    C#图片文字识别
    C#实现rabbitmq 延迟队列功能
    Windows下当地RabbitMQ服务的安装
    看大数据时代下的IT架构(1)业界消息队列对比
    查看sqlserver被锁的表以及如何解锁
    如何让win2008服务器显示中文无乱码
    Lucene.Net的服务器封装+APi组件 (开源)
    Oracle学习系列4
  • 原文地址:https://www.cnblogs.com/raphael5200/p/5114874.html
Copyright © 2020-2023  润新知