< Window x : Class ="WindowsFormsHostWPF.MatriceTransformation"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Height="900" Width="900">
< Window.Resources >
< Storyboard x : Key ="storyBoard1">
< DoubleAnimation Duration ="0:0:20" From ="0" To ="360"
Storyboard.TargetName="rotateTransform1" Storyboard.TargetProperty="Angle"/>
</ Storyboard >
</ Window.Resources >
< Window.Triggers >
< EventTrigger RoutedEvent ="FrameworkElement.Loaded">
< BeginStoryboard Storyboard ="{ StaticResource storyBoard1 }"/>
</ EventTrigger >
</ Window.Triggers >
< Canvas >
< Line X1 ="300" Y1 ="300" X2 ="600" Y2 ="600" x : Name ="line1" Stroke ="Black" StrokeThickness ="2">
< Line.RenderTransform >
< RotateTransform CenterX ="450" CenterY ="450" x : Name ="rotateTransform1"/>
</ Line.RenderTransform >
</ Line >
</ Canvas >
</ Window >
< DoubleAnimation Duration ="0:0:20" To ="250"
Storyboard.TargetName="translateTransform1" Storyboard.TargetProperty="X"/>
< DoubleAnimation To ="-250" Duration ="0:0:20"
Storyboard.TargetName="translateTransform1" Storyboard.TargetProperty="Y"/>
< TransformGroup >
< TranslateTransform x : Name ="translateTransform1"/>
</ TransformGroup >
Line l = new Line();
l.Stroke = new SolidColorBrush(Colors.Black);
l.StrokeThickness = 2;
l.X1 = 300;
l.X2 = 600;
l.Y1 = 300;
l.Y2 = 600;
canvas1.Children.Add(l);
TransformGroup tg = new TransformGroup();
RotateTransform rt = new RotateTransform();
rt.CenterX = 450;
rt.CenterY = 450;
DoubleAnimation da = new DoubleAnimation(0, 360, new Duration(new TimeSpan(0, 0, 20)));
rt.BeginAnimation(RotateTransform.AngleProperty, da);
TranslateTransform tt = new TranslateTransform();
DoubleAnimation datt1 = new DoubleAnimation(700 - 450, new Duration(new TimeSpan(0, 0, 20)));
DoubleAnimation datt2 = new DoubleAnimation(200 - 450, new Duration(new TimeSpan(0, 0, 20)));
tt.BeginAnimation(TranslateTransform.XProperty, datt1);
tt.BeginAnimation(TranslateTransform.YProperty, datt2);
tg.Children.Add(rt);
tg.Children.Add(tt);
l.RenderTransform = tg;