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

发布时间:2022-04-16 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了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();
    }

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

脚本宝典总结

以上是脚本宝典为你收集整理的WPF实现左右移动(晃动)动画效果全部内容,希望文章能够帮你解决WPF实现左右移动(晃动)动画效果所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: