wpf动画基础

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace 动画
{
    /// 
    /// Interaction logic for MainWindow.xaml
    /// 
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            //创建一个双精度动画
            DoubleAnimation animation = new DoubleAnimation();
            animation.From = btn.Width;//设置动画初始值
            animation.By = -30;//在原来的基础上减30
            //animation.To = btn.Width - 30;//设置动画结束值
            animation.Duration = TimeSpan.FromSeconds(2);//设置动画结束时间
            animation.AutoReverse = true;//是否往返运行
            //animation.RepeatBehavior = RepeatBehavior.Forever;//动画无限重复
            animation.RepeatBehavior = new RepeatBehavior(5);// 执行5次

            //动画播放完成后执行
            animation.Completed += Animation_Completed;

            //在按钮上执行动画
            btn.BeginAnimation(Button.WidthProperty, animation);
        }

        private void Animation_Completed(object? sender, EventArgs e)
        {
            btn.Content = "动画已完成";
        }
    }
}

你可能感兴趣的:(wpf,c#)