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

 更新时间:2017年12月29日 10:40:10   作者:柴米油盐酱醋茶-  
这篇文章主要为大家详细介绍了WPF实现左右移动或晃动动画效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了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();
    }

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

相关文章

  • asp.net 在global中拦截404错误的实现方法

    asp.net 在global中拦截404错误的实现方法

    asp.net 在global中拦截404错误,增加用于体验,不会因为提示找不到信息而直接退出的尴尬。
    2010-03-03
  • ASP.NET设计FTP文件上传的解决方案

    ASP.NET设计FTP文件上传的解决方案

    这篇文章主要介绍了ASP.NET设计FTP文件上传的解决方案,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2015-09-09
  • 通过ASP.net实现flash对数据库的访问

    通过ASP.net实现flash对数据库的访问

    近来网站需要在flash中提取数据库中的数据,从网上找了一点资料,今天下午在自己的机器上实现了一下,还是比较简单的。
    2009-08-08
  • ASP.NET站点导航应用详解

    ASP.NET站点导航应用详解

    这篇文章主要内容是ASP.NET站点导航,主要包括站点导航以及动态修改内存中的站点地图,感兴趣的小伙伴们可以参考一下
    2015-09-09
  • ubuntu16.4下用jexus部署ASP.NET Core环境

    ubuntu16.4下用jexus部署ASP.NET Core环境

    这篇文章主要以图文结合的方式介绍了ubuntu16.4下ASP.NET Core部署环境搭建步骤,感兴趣的小伙伴们可以参考一下
    2016-07-07
  • ASP.NET Core如何自定义配置源示例详解

    ASP.NET Core如何自定义配置源示例详解

    这篇文章主要给大家介绍了关于ASP.NET Core如何自定义配置源的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用ASP.NET Core具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-11-11
  • 如何给asp.net core写个中间件记录接口耗时

    如何给asp.net core写个中间件记录接口耗时

    这篇文章主要给大家介绍了关于如何给asp.net core写个中间件记录接口耗时的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用asp.net core具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-09-09
  • .NET中求复杂类型集合的差集、交集、并集

    .NET中求复杂类型集合的差集、交集、并集

    这篇文章主要介绍了.NET的求复杂类型集合的差集、交集、并集,下面我将带着大家去了解如何通过微软自带方法方式去取**复杂类型集合**的差集、交集、并集,需要的朋友可以参考下
    2022-07-07
  • Asp.net 页面调用javascript变量的值

    Asp.net 页面调用javascript变量的值

    开发过程中碰到了这种情况,我想将javascript中定义的变量赋值给页面中的TextBox控件.
    2009-12-12
  • ASP.NET MVC处理文件上传的小例子

    ASP.NET MVC处理文件上传的小例子

    这篇文章介绍了ASP.NET MVC处理文件上传的小例子,有需要的朋友可以参考一下
    2013-10-10

最新评论