欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

WPF动画

程序员文章站 2022-03-07 17:09:30
...

WPF动画

wpf要做动画要实例化DoubleAnimation

之后要设置开始值from,结束值to

在设置动画时间Duration,Duration的设置需要实例化

即:动画名.Duration=new Duration(TimeSpan.时间(值))

时间有一下6种

FromDays 以天为单位精确到毫秒
FromHours 以小时为单位精确到毫秒
FromMilliseconds 以毫秒为单位
FromMinutes 以分钟为单位精确的毫秒
FromSeconds 以秒为单位精确到毫秒
FromTicks 以时刻为单位

放大动画

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            DoubleAnimation da = new DoubleAnimation();
            //实例化一个动画
            da.From = btn1.Width;
            //开始值为按钮的宽
            da.To = 250;
            //结束值为250
            da.Duration = new Duration(TimeSpan.FromSeconds(5));
            //设置动画的时间
            btn1.BeginAnimation(Button.WidthProperty, da);
            //按钮的宽进行这个动画
        }

旋转动画

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            RotateTransform xz = new RotateTransform();
            //实例化旋转对象
            but1.RenderTransform = xz;
            //按钮位置根据旋转对象设置
            DoubleAnimation ks = new DoubleAnimation();
            //实例化一个动画
            ks.From = 0;
            ks.To = 360;
            ks.Duration = new Duration(TimeSpan.FromSeconds(5));
            //动画时间
            //ks.RepeatBehavior = RepeatBehavior.Forever;//无限次动画
            xz.BeginAnimation(RotateTransform.AngleProperty, ks);
            //旋转对象使用动画
        }

平移动画,过程与旋转差不多

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            TranslateTransform py = new TranslateTransform();
            //实例化一个平移对象
            btn1.RenderTransform = py;
            //按钮位置依据平移对象

            DoubleAnimation ks = new DoubleAnimation();
            //实例化一个动画
            ks.From = 0;
            ks.To = 250;
            ks.Duration = new Duration(TimeSpan.FromSeconds(2));
            //动画时间
            py.BeginAnimation(TranslateTransform.XProperty, ks);
            //平移对象使用对象
            
        }
相关标签: 学习笔记 练习