首页 > 编程 > .NET > 正文

WPF实现左右移动(晃动)动画效果

2024-07-10 13:32:50
字体:
来源:转载
供稿:网友

本文实例为大家分享了WPF实现左右移动效果展示的具体代码,供大家参考,具体内容如下

实现控件或布局的左右移动(晃动)主要用到DoubleAnimation以及Storyboard

布局代码为:

<Canvas>    <Grid Width="200" Height="100" Background="MediumAquamarine" Name="GroupboxArea" Canvas.Left="100" Canvas.Top="200"/>    <Button Content="Button" Height="25" Width="78" Click="Button_Click"/></Canvas>

后台代码为:

 private void Button_Click(object sender, RoutedEventArgs e)    {      DoubleAnimation DAnimation = new DoubleAnimation();      DAnimation.From = 100;//起点      DAnimation.To = 280;//终点      DAnimation.Duration = new Duration(TimeSpan.FromSeconds(0.5));//时间      Storyboard.SetTarget(DAnimation, GroupboxArea);      Storyboard.SetTargetProperty(DAnimation, new PropertyPath(Canvas.LeftProperty));      Storyboard story = new Storyboard();      story.Completed += new EventHandler(story_Completed);//完成后要做的事      //story.RepeatBehavior = RepeatBehavior.Forever;//无限次循环,需要的自己加上      story.Children.Add(DAnimation);      story.Begin();    }    void story_Completed(object sender, EventArgs e)    {      DoubleAnimation DAnimation = new DoubleAnimation();      DAnimation.From = 280;//起点      DAnimation.To = 100;//终点      DAnimation.Duration = new Duration(TimeSpan.FromSeconds(0.5));//时间      Storyboard.SetTarget(DAnimation, GroupboxArea);      Storyboard.SetTargetProperty(DAnimation, new PropertyPath(Canvas.LeftProperty));      Storyboard story = new Storyboard();      story.Completed += new EventHandler(storyCompleted);//完成后要做的事      //story.RepeatBehavior = RepeatBehavior.Forever;//无限次循环,需要的自己加上      story.Children.Add(DAnimation);      story.Begin();    }    void storyCompleted(object sender, EventArgs e)    {      DoubleAnimation DAnimation = new DoubleAnimation();      DAnimation.From = 100;//起点      DAnimation.To = 200;//终点      DAnimation.Duration = new Duration(TimeSpan.FromSeconds(0.5));//时间      Storyboard.SetTarget(DAnimation, GroupboxArea);      Storyboard.SetTargetProperty(DAnimation, new PropertyPath(Canvas.LeftProperty));      Storyboard story = new Storyboard();      //story.Completed += new EventHandler(storyCompleted);//完成后要做的事      //story.RepeatBehavior = RepeatBehavior.Forever;//无限次循环,需要的自己加上      story.Children.Add(DAnimation);      story.Begin();    }

 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持VeVb武林网。


注:相关教程知识阅读请移步到ASP.NET教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表