Mega Code Archive

 
Categories / VB.Net / WPF
 

TranslateTransform and DoubleAnimation

<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="910" Height="512">   <Canvas Name="MainCanvas" Background="#FFE0E0E0"/> </Window> //File:Window.xaml.vb Imports System Imports System.Windows Imports System.Windows.Controls Imports System.Windows.Data Imports System.Windows.Documents Imports System.Windows.Media Imports System.Windows.Shapes Imports System.Windows.Media.Animation Namespace _360Timer   Public Partial Class Window1     Inherits Window     Public Sub New()       InitializeComponent()       Me.Show()       For i As Integer = 0 To 23         Dim e As New Ellipse()         e.Stroke = New SolidColorBrush(Color.FromArgb(5, 2, 200, 100))         e.StrokeThickness = 20         e.Width = 10.0         e.Height = 20.0         Me.MainCanvas.Children.Add(e)         e.SetValue(Canvas.LeftProperty, 300)         e.SetValue(Canvas.TopProperty, 400)         Dim duration As Double = 6.0         Dim delay As Double = 1.0         Dim offsetTransform As New TranslateTransform()         Dim offsetXAnimation As New DoubleAnimation(0.0, -256.0, New Duration(TimeSpan.FromSeconds(duration)))         offsetXAnimation.RepeatBehavior = RepeatBehavior.Forever         offsetXAnimation.BeginTime = TimeSpan.FromSeconds(delay)         offsetTransform.BeginAnimation(TranslateTransform.XProperty, offsetXAnimation)         offsetTransform.BeginAnimation(TranslateTransform.YProperty, offsetXAnimation)         e.RenderTransform = offsetTransform       Next     End Sub   End Class End Namespace