本文实例为大家分享了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实现ScrollViewer滚动到指定控件处
- WPF拖动DataGrid滚动条时内容混乱的解决方法