我使用DoubleAnimations为控件的大小和位置设置动画。这就是我想要实现的目标:
我希望控件动画到新的位置和大小。我想要的最终状态是让控件回到原来的位置,但是我希望它们在那时是不可见的。 (这是因为应用程序将在再次显示控件之前对控件的外观进行更改。稍后会重新显示它们,然后再次进行动画处理。)
如果我将FillBehavior设置为FillBehavior.Stop,它们确实会恢复到原始位置和大小,但它们会立即再次显示在原始位置。我尝试了以下操作:
ObjectToMove.BeginAnimation(HeightProperty, heightAnim);
ObjectToMove.BeginAnimation(WidthProperty, widthAnim);
trans.BeginAnimation(TranslateTransform.YProperty, anim1);
trans.BeginAnimation(TranslateTransform.XProperty, anim2);
ObjectToMove.Visibility = Visibility.Hidden;
但是,这会阻止动画显示。我相信这是因为在动画完成之前控件是不可见的。
我该怎么办?
答案 0 :(得分:1)
您可能需要另一个动画,将控件恢复到原始位置和大小后启动的Visibility
更改为Hidden
或Collapsed
,然后另一个动画更改{{ 1}}回到Visibility
,当你完成修改控件的外观时,你就开始了。