XAML代码:
1 <Window x:Class="关键帧动画.MainWindow" 2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 4 Title="MainWindow" Height="350" Width="525" Loaded="Window_Loaded"> 5 <Grid> 6 <Border Height="32" Width="0" Background="#326939" Name="border1"/> 7 </Grid> 8 </Window>
.CS代码:
1 using System; 2 using System.Windows; 3 using System.Windows.Controls; 4 using System.Windows.Media.Animation; 5 6 namespace 关键帧动画 7 { 8 /// <summary> 9 /// MainWindow.xaml 的交互逻辑 10 /// </summary> 11 public partial class MainWindow : Window 12 { 13 public MainWindow() 14 { 15 InitializeComponent(); 16 } 17 18 private void Window_Loaded(object sender, System.Windows.RoutedEventArgs e) 19 { 20 // 在此处添加事件处理程序实现。 21 DoubleAnimationUsingKeyFrames dak=new DoubleAnimationUsingKeyFrames(); 22 dak.KeyFrames.Add(new LinearDoubleKeyFrame(0,KeyTime.FromTimeSpan(TimeSpan.FromSeconds(0)))); 23 dak.KeyFrames.Add(new LinearDoubleKeyFrame(240,KeyTime.FromTimeSpan(TimeSpan.FromSeconds(3)))); 24 dak.KeyFrames.Add(new LinearDoubleKeyFrame(240,KeyTime.FromTimeSpan(TimeSpan.FromSeconds(6)))); 25 dak.KeyFrames.Add(new LinearDoubleKeyFrame(0,KeyTime.FromTimeSpan(TimeSpan.FromSeconds(9)))); 26 dak.BeginTime=TimeSpan.FromSeconds(2); 27 dak.RepeatBehavior=new RepeatBehavior(2); 28 this.border1.BeginAnimation(Border.WidthProperty,dak); 29 } 30 } 31 }
时间: 2024-10-11 18:04:26