我正在做一个不使用StoryBoard的DoubleAnimation,并且我试图在它完成时应用一个事件处理程序(否则我尝试做的代码会在动画结束之前发生)。
我已经使用了:
da = new DoubleAnimation(40,20, new Duration(TimeSpan.FromSeconds(2)));
((PerspectiveCamera)_Main3D.Camera).
BeginAnimation(PerspectiveCamera.FieldOfViewProperty, da);
da.Completed += new EventHandler(Story_Completed);然而,这一事件从未发生过。
发布于 2012-02-11 23:09:15
在启动动画的之后附加一个事件处理程序。如果动画很简短,那么它可能会在完成的处理程序被分配之前完成。也有可能动画对象在运行动画时不响应处理程序的分配。
试试这个:
da = new DoubleAnimation(40,20, new Duration(TimeSpan.FromSeconds(2)));
da.Completed += new EventHandler(Story_Completed);
((PerspectiveCamera)_Main3D.Camera).
BeginAnimation(PerspectiveCamera.FieldOfViewProperty, da);在开始动画之前...add竞争的处理程序...
https://stackoverflow.com/questions/9241192
复制相似问题