WPF动画设置回原始大小和位置,但不可见

时间:2014-04-16 19:42:55

标签: c# wpf animation

我使用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;

但是,这会阻止动画显示。我相信这是因为在动画完成之前控件是不可见的。

我该怎么办?

1 个答案:

答案 0 :(得分:1)

您可能需要另一个动画,将控件恢复到原始位置和大小后启动的Visibility更改为HiddenCollapsed,然后另一个动画更改{{ 1}}回到Visibility,当你完成修改控件的外观时,你就开始了。