programming-examples/c-sharp/Others/Width and Height animation.cs
2019-11-15 12:59:38 +01:00

58 lines
1.7 KiB
C#

Width and Height animation
<Window x:Class="_360Timer.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Concentric Rings" Width="800" Height="500">
<Canvas Name="MainCanvas" Background="#FF44CC"/>
</Window>
//File:Window.xaml.cs
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Media;
using System.Windows.Shapes;
using System.Windows.Media.Animation;
namespace _360Timer
{
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
this.Show();
for (int i = 0; i < 24; ++i)
{
Ellipse e = new Ellipse();
e.Stroke = new SolidColorBrush(Color.FromArgb(4 2, 240, 240));
e.StrokeThickness = 20;
e.Width = 16.0;
e.Height = 32.0;
this.MainCanvas.Children.Add(e);
e.SetValue(Canvas.LeftProperty, 300);
e.SetValue(Canvas.TopProperty, 400);
double duration = 6.0 ;
double delay = 1.0 ;
DoubleAnimation sizeAnimation = new DoubleAnimation(0.0, 512.0, new Duration(TimeSpan.FromSeconds(duration)));
sizeAnimation.RepeatBehavior = RepeatBehavior.Forever;
sizeAnimation.BeginTime = TimeSpan.FromSeconds(delay);
e.BeginAnimation(Ellipse.WidthProperty, sizeAnimation);
e.BeginAnimation(Ellipse.HeightProperty, sizeAnimation);
}
}
}
}