WPF-同步动画
我有这样的事情:
scaleTransform.BeginAnimation(ScaleTransform.ScaleXProperty, shrinkAnimation);
scaleTransform.BeginAnimation(ScaleTransform.ScaleYProperty, shrinkAnimation);
MyDialog.Show();
动画并行正确运行(x 和 y 一起收缩),但由于 BeginAnimation
是异步调用,因此 Show()
方法在动画仍在运行(假设 shrinkAnimation
运行 1 秒)。
如何在调用 Show()
之前等待动画完成?
谢谢!
I have something this:
scaleTransform.BeginAnimation(ScaleTransform.ScaleXProperty, shrinkAnimation);
scaleTransform.BeginAnimation(ScaleTransform.ScaleYProperty, shrinkAnimation);
MyDialog.Show();
The animations run correctly in parallel (x and y shrink together), but because BeginAnimation
is an asynchronous call, the Show()
method gets executed while the animation is still running (suppose shrinkAnimation
runs for 1 second).
How can I wait for animations to complete before calling Show()
?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用具有已完成事件的
Storyboard
来代替BeginAnimation
方法。这是一个设置不透明度的示例,但它是相同的概念:You can use a
Storyboard
, which has a completed event, instead of thatBeginAnimation
method. Here's an example, setting opacity, but it's the same concept: