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

C# WPF动画设置回原始大小和位置,但不可见,c#,wpf,animation,C#,Wpf,Animation,我正在使用DoubleAnimations设置控件大小和位置的动画。以下是我想要实现的目标: 我希望控件设置新位置和大小的动画。我想要的最后一种状态是控件返回到其原始位置,但我希望它们在该点不可见。(这是因为应用程序将在使控件再次可见之前对控件的外观进行更改。这些控件稍后将以不同的外观重新出现,然后再次设置动画。) 如果我将FillBehavior设置为FillBehavior.Stop,它们确实会返回到其原始位置和大小,但它们会立即在其原始位置再次可见。我试着做了以下几点: O

我正在使用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,除非首先将其设置回null。