本文實例為大家分享了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武林網。
新聞熱點
疑難解答
圖片精選