当前位置: 首页 > 图灵资讯 > 技术篇> 代码创建 WPF 旋转动画

代码创建 WPF 旋转动画

来源:图灵教育
时间:2023-05-15 09:27:22

WPF窗体上有一个矩形,叫做rectangle2

对应的XAML如下:

<Window x:Class="WpfVideo.Window1”         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"         Title="Window1” Height="434" Width="593" Loaded="Window_Loaded">     <Grid>         <Button Content="Button" Height="23" HorizontalAlignment="Left" Margin="29,67,0,0" Name=button2 VerticalAlignment="Top" Width="75" Click=button2_Click" /> <Rectangle Height="71" HorizontalAlignment="Left" Margin="50,207,0,0" Name=“rectangle2” Stroke="Black" VerticalAlignment="Top" Width="101" Fill="#FF967878" />         <Button Content="Button" Height="23" HorizontalAlignment="Left" Margin="162,67,0,0" Name=button1 VerticalAlignment="Top" Width="75" Click=button1__Click" />     </Grid> < /Window>第二,方法1privatete void button1__Click(object sender, RoutedEventArgs e)         {             RotateTransform rtf = new RotateTransform();             rectangle2.RenderTransform = rtf;             DoubleAnimation dbAscending = new DoubleAnimation(0, 360, new Duration(TimeSpan.FromSeconds(1)));             Storyboard storyboard = new Storyboard();             dbAscending.RepeatBehavior = RepeatBehavior.Forever;             storyboard.Children.Add(dbAscending);             Storyboard.SetTarget(dbAscending, rectangle2;             Storyboard.SetTargetProperty(dbAscending, new PropertyPath("RenderTransform.Angle"));             storyboard.Begin();         }三、方法二privatete void 2_button2_Click(object sender, RoutedEventArgs e)         {             RotateTransform rtf = new RotateTransform();             rectangle2.RenderTransform = rtf;             DoubleAnimation dbAscending = new DoubleAnimation(0, 360, new Duration(TimeSpan.FromSeconds(1)));             dbAscending.RepeatBehavior = RepeatBehavior.Forever;             rtf.BeginAnimation(RotateTransform.AngleProperty, dbAscending);         }