gpt4 book ai didi

c# - WPF-- 同步动画

转载 作者:太空狗 更新时间:2023-10-29 20:32:27 26 4
gpt4 key购买 nike

我有这个:

scaleTransform.BeginAnimation(ScaleTransform.ScaleXProperty, shrinkAnimation);
scaleTransform.BeginAnimation(ScaleTransform.ScaleYProperty, shrinkAnimation);
MyDialog.Show();

动画正确地并行运行(x 和 y 收缩在一起),但是因为 BeginAnimation 是一个异步调用,所以 Show() 方法在动画运行时执行仍在运行(假设 shr​​inkAnimation 运行 1 秒)。

如何在调用 Show() 之前等待动画完成?

谢谢!

最佳答案

您可以使用具有完成事件的Storyboard 来代替BeginAnimation 方法。这是一个示例,设置不透明度,但它是相同的概念:

DoubleAnimation animation = new DoubleAnimation(0.0, new Duration(TimeSpan.FromSeconds(1.0)));

Storyboard board = new Storyboard();
board.Children.Add(animation);

Storyboard.SetTarget(animation, MyButton);
Storyboard.SetTargetProperty(animation, new PropertyPath("(Opacity)"));

board.Completed += delegate
{
MessageBox.Show("DONE!");
};

board.Begin();

关于c# - WPF-- 同步动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2202925/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com