簡體   English   中英

等待動畫完成再恢復

[英]wait for animation to finish before resuming

我正在使用此功能為線設置動畫

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

我如何等待動畫完成再繼續(現有功能)

故事板有一個Completed事件,您可以訂閱事件,告訴您故事板何時完成運行。

您還可以使用事件等待句柄來阻止線程繼續執行,直到觸發其他事件為止。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM