2016-05-01 57 views
0

我使用这个功能等待动画恢复

public static void Line(Canvas Drawing_Area, Point p1, Point p2) 
    { 
     Line line = new Line(); 
     Drawing_Area.Children.Insert(0, line); 
     line.Stroke = Brushes.Black; 
     line.StrokeThickness = 3; 
     Storyboard sb = new Storyboard(); 
     Random r = new Random(); 
     line.X1 = p1.X; 
     line.Y1 = p1.Y - TopMargin; 
     line.X2 = p1.X; 
     line.Y2 = p1.Y - TopMargin; 
     DoubleAnimation animation1 = new DoubleAnimation(line.Y1, p1.Y - TopMargin, new Duration(new TimeSpan(0, 0, 1))); 
     DoubleAnimation animation2 = new DoubleAnimation(line.X1, p1.X, new Duration(new TimeSpan(0, 0, 1))); 
     DoubleAnimation animation3 = new DoubleAnimation(line.Y2, p2.Y - TopMargin, new Duration(new TimeSpan(0, 0, 1))); 
     DoubleAnimation animation4 = new DoubleAnimation(line.X2, p2.X, new Duration(new TimeSpan(0, 0, 1))); 
     Storyboard.SetTargetProperty(animation1, new PropertyPath("(Line.Y1)")); 
     Storyboard.SetTargetProperty(animation2, new PropertyPath("(Line.X1)")); 
     Storyboard.SetTargetProperty(animation3, new PropertyPath("(Line.Y2)")); 
     Storyboard.SetTargetProperty(animation4, new PropertyPath("(Line.X2)")); 
     sb.Children.Add(animation1); 
     sb.Children.Add(animation2); 
     sb.Children.Add(animation3); 
     sb.Children.Add(animation4); 
     sb.Begin(line); 
    } 

我怎么能等待动画继续(现有功能)前完成

回答

0

故事板有Completed事件动画线前完成你可以订阅它,告诉你故事板何时完成运行。

您也可以使用Event Wait Handles阻止线程继续执行,直到其他事件触发为止。