Blame view
sources/RoboforkApp/ScheduleCanvas.cs
2.18 KB
|
d55d921a3
|
1 2 3 4 5 6 7 8 |
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Media; |
|
ec7e1c699
|
9 |
using System.Windows.Media.Animation; |
|
d55d921a3
|
10 11 12 13 14 15 |
using System.Windows.Shapes;
namespace RoboforkApp
{
public class ScheduleCanvas : Canvas
{
|
|
ec7e1c699
|
16 |
private simulationRobo simulation; |
|
d55d921a3
|
17 |
|
|
ec7e1c699
|
18 |
public void CreateSimulation() |
|
d55d921a3
|
19 |
{
|
|
ec7e1c699
|
20 21 22 23 |
if(simulation != null || this.Children.Count < 2)
{
return;
}
|
|
d55d921a3
|
24 |
|
|
ec7e1c699
|
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
PathGeometry animationPath = new PathGeometry();
PathFigure pFigure = new PathFigure();
pFigure.StartPoint = new Point(50, 65);
LineSegment lineSegment = new LineSegment();
lineSegment.Point = new Point(1270, 65);
pFigure.Segments.Add(lineSegment);
animationPath.Figures.Add(pFigure);
// Freeze the PathGeometry for performance benefits.
animationPath.Freeze();
// Create a MatrixAnimationUsingPath to move the
// button along the path by animating
// its MatrixTransform.
MatrixAnimationUsingPath matrixAnimation = new MatrixAnimationUsingPath();
matrixAnimation.PathGeometry = animationPath;
matrixAnimation.Duration = TimeSpan.FromSeconds(10);
//matrixAnimation.RepeatBehavior = RepeatBehavior.Forever;
matrixAnimation.AutoReverse = false;
matrixAnimation.DoesRotateWithTangent = true;
// Set the animation to target the Matrix property
// of the MatrixTransform named "ButtonMatrixTransform".
Storyboard.SetTargetName(matrixAnimation, "fl");
Storyboard.SetTargetProperty(matrixAnimation, new PropertyPath(MatrixTransform.MatrixProperty));
// Create a Storyboard to contain and apply the animation.
Storyboard pathAnimationStoryboard = new Storyboard();
pathAnimationStoryboard.Children.Add(matrixAnimation);
simulation = new simulationRobo();
simulation.storyBoard = pathAnimationStoryboard;
this.Children.Add(simulation);
|
|
d55d921a3
|
58 59 60 |
}
}
}
|