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

本文关键字:位置 设置 动画 原始 WPF | 更新日期: 2023-09-27 17:58:50

我正在使用DoubleAnimations为控件的大小和位置设置动画。以下是我想要实现的目标:

我希望控件设置动画到新的位置和大小。我想要的最后一种状态是控件回到它们的原始位置,但我希望它们在那一点上是不可见的。(这是因为应用程序将对控件的外观进行更改,然后使其再次可见。它们稍后将重新出现,看起来不同,然后再次设置动画。)

如果我将FillBehavior设置为FillBehBehavior.Stop,它们确实会回到原来的位置和大小,但它们会立即在原来的位置再次可见。我试着做以下事情:

        ObjectToMove.BeginAnimation(HeightProperty, heightAnim);
        ObjectToMove.BeginAnimation(WidthProperty, widthAnim);
        trans.BeginAnimation(TranslateTransform.YProperty, anim1);
        trans.BeginAnimation(TranslateTransform.XProperty, anim2);
        ObjectToMove.Visibility = Visibility.Hidden;

但是,这会使动画不可见。我相信这是因为在动画完成之前,控件被设置为不可见。

我能做什么?

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

您可能需要另一个动画,将控件返回到其原始位置和大小后启动的Visibility更改为HiddenCollapsed,然后再将控件外观修改完成后启动的Visibility更改为Visible