Mar*_*cic 17 .net c# wpf storyboard
关闭主窗口之前我有一个动画,如下面的代码所示.问题是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(); };
Run Code Online (Sandbox Code Playgroud)
Cle*_*ens 47
在调用Begin之前添加Completed处理程序:
story.Completed += (o, s) => Close();
story.Begin(this);
Run Code Online (Sandbox Code Playgroud)
此行为的原因是Completed处理程序附加到Begin期间创建的内部Clock对象.请参阅已完成中的备注部分:
虽然此事件处理程序似乎与时间轴相关联,但它实际上是为为此时间轴创建的时钟注册的.有关更多信息,请参阅时序事件概述.
| 归档时间: |
|
| 查看次数: |
10632 次 |
| 最近记录: |