c#两点动画
2.创建一个border设置border的属性,添加到canvas里
3.添加动画
代码:
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.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
//动画的命名空间
using System.Windows.Media.Animation;
namespace _01动1
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
//border中可以容纳一个其他元素
Border br = new Border();//实例化创建一个border
br.Width = br.Height = 100;//设置border的宽高
br.Background = Brushes.Pink;//设置border的背景颜色
//设置border的left和top
Canvas.SetLeft(br, 100);
Canvas.SetTop(br, 100);
BG.Children.Add(br);//将border加入BG画布中
//边框的厚度
br.BorderThickness = new Thickness(20);
//边框的颜色
br.BorderBrush = Brushes.Red;
//边框圆角
br.CornerRadius = new CornerRadius(50);
//动画
//1.找剧本,故事本
Storyboard story1 = new Storyboard();
//2.选择动画的类型
//两点动画:差值动画
DoubleAnimation da = new DoubleAnimation();
//3.设置动画的起始值
da.From = 100;
//设置动画的终止值
da.To = 500;
//设置动画的进行时间
da.Duration = new Duration(TimeSpan.FromSeconds(2));
//4.设置某个动画的男女一号
Storyboard.SetTarget(da, br);
//5.设置动画的属性
Storyboard.SetTargetProperty(da, new PropertyPath("(Canvas.Top)"));
da.AutoReverse = true;//动画的可选属性1,是否反着播放
// da.RepeatBehavior = RepeatBehavior.Forever;//动画的可选属性2,是否重复播放
da.RepeatBehavior = new RepeatBehavior(TimeSpan.FromSeconds(50));//可以设置重复的次数/时间
//将动画添加进故事版里面
story1.Children.Add(da);
story1.Begin();
}
}
}