繁体   English   中英

WPF StoryBoard.Completed 事件未触发

[英]WPF StoryBoard.Completed event not firing

在关闭主 window 之前,我有一个 animation,如下面的代码所示。 问题是StoryBoard.Completed没有触发。 任何线索是什么原因造成的?

代码

DoubleAnimation dblAnimX = new DoubleAnimation(1.0, 0.0, new  Duration(TimeSpan.FromSeconds(0.5)));
dblAnimX.SetValue(Storyboard.TargetProperty, this);

DoubleAnimation dblAnimY = new DoubleAnimation(1.0, 0.0, new Duration(TimeSpan.FromSeconds(0.5)));
dblAnimY.SetValue(Storyboard.TargetProperty, this);

Storyboard story = new Storyboard();
Storyboard.SetTarget(dblAnimX, this);
Storyboard.SetTarget(dblAnimY, this);
Storyboard.SetTargetProperty(dblAnimX, new PropertyPath("RenderTransform.ScaleX"));
Storyboard.SetTargetProperty(dblAnimY, new PropertyPath("RenderTransform.ScaleY"));

story.Children.Add(dblAnimX);
story.Children.Add(dblAnimY);
story.Begin(this);

story.Completed += (o, s) => { this.Close(); };

在调用Begin之前添加Completed处理程序:

story.Completed += (o, s) => Close();
story.Begin(this);

此行为的原因是Completed处理程序附加到Begin期间创建的内部Clock对象。 请参阅已完成中的备注部分:

虽然此事件处理程序似乎与时间轴相关联,但它实际上是为为此时间轴创建的时钟注册的。 有关更多信息,请参阅时序事件概述。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM