我在画布中有一些控件。我需要动画他们的Canvas.Top和Canvas.Left属性。我使用的是我开始所有动画的foreach:如何在动画后为一组对象设置属性
foreach (Control c in controls)
{
tc.BeginAnimation(Canvas.TopProperty, yAnimation);
tc.BeginAnimation(Canvas.LeftProperty, xAnimation);
}
其中xAnimation和yAnimation是两个DoubleAnimation。 一切工作正常,但在动画这些对象后,我不能拖动它们了。我发现here的原因和解决方案(在动画完成事件处理程序中设置最终值),但它似乎并没有为我工作:在我的问题中,我有一堆对象,并在动画完成事件处理程序我有没办法得到哪个对象的动画结束。 任何想法?
是的,我试过了。问题是:当动画完成时,我应该在事件处理程序中设置明确的值,但我不知道哪个控件涉及到。假设我有3个控件c1,c2和c3。我希望他们的Canvas.Top属性为c1为10,c2为20,c3为30。通过动画这可以很好地工作。当动画完成时,我应该在Completed事件处理程序中手动将c1的Top属性设置为10,c2的为20,c3的为30。我如何知道这3个控件中的哪一个完成了动画,并且应该设置为最终值? – loris 2009-12-24 14:54:43