在WPF 3.5(带SP1)中,当我更改属性Visibility 时,我只想设置 StackPanel动画。我不知道这个StackPanel的高度,因为它的内容决定了它的高度。因此,当我将StackPanel的属性更改为Visible(progressPanel.Visibility = Visibility.Visible;)时,我希望看到一个动画(可能是从0到X的DoubleAnimationUsingKeyFrames)。
此外,我有多个StackPanel,我希望看到这种行为(所以在最好的情况下,我需要一些通用的东西)。 有人知道如何做到这一点吗?
谢谢!
答案 0 :(得分:4)
您可以创建并重用自定义StackPanel样式,以便在可见性更改时触发动画:
<Style x:Key="MyStyle" TargetType="{x:Type StackPanel}">
<Style.Triggers>
<Trigger Property="Visibility" Value="Visible">
<Trigger.EnterActions>
<BeginStoryboard>
<Storyboard >
<DoubleAnimation .../>
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
</Trigger>
</Style.Triggers>
</Style>
答案 1 :(得分:2)
如果您需要使用垂直增长的动画来扩展效果。如果面板是垂直面板,则在面板的ScaleTransform.ScaleY属性上执行从0到1的双动画。