【问题标题】:wait for animation to finish before resuming在恢复之前等待动画完成
【发布时间】:2016-05-01 12:59:20
【问题描述】:

我正在使用此功能为线条制作动画

 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);
    }

如何等待动画完成后再继续(现有功能)

【问题讨论】:

    标签: c# wpf storyboard


    【解决方案1】:

    Storyboard 有一个 Completed 事件,您可以订阅该事件,它会告诉您 Storyboard 何时完成运行。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-15
      • 1970-01-01
      • 2016-11-29
      • 2018-02-08
      • 1970-01-01
      • 2014-01-24
      • 1970-01-01
      • 2012-08-23
      相关资源
      最近更新 更多