我正在DoubleAnimation
没有使用StoryBoard
而我正在尝试将事件处理程序应用到它完成时(否则代码I'我试图做的事情就是在动画结束之前发生的事情)
我用过:
da = new DoubleAnimation(40,20, new Duration(TimeSpan.FromSeconds(2)));
((PerspectiveCamera)_Main3D.Camera).
BeginAnimation(PerspectiveCamera.FieldOfViewProperty, da);
da.Completed += new EventHandler(Story_Completed);
然而这个事件永远不会发生。
答案 0 :(得分:4)
在启动动画后,您附加了一个事件处理程序。如果动画是简短的,那么它可能会在分配完成的处理程序之前完成。运行动画时,动画对象也可能不响应处理程序分配。
试试这个:
da = new DoubleAnimation(40,20, new Duration(TimeSpan.FromSeconds(2)));
da.Completed += new EventHandler(Story_Completed);
((PerspectiveCamera)_Main3D.Camera).
BeginAnimation(PerspectiveCamera.FieldOfViewProperty, da);
...在开始动画之前添加Competed处理程序......