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);
//平移对象使用对象
}