在 WPF 3.5(带有 SP1)中,我只有 StackPanel,当我更改属性 Visibility 时,我想为其设置动画。我不知道这个 StackPanel 的高度,因为它的内容决定了它的高度。因此,当我将 StackPanel 的属性更改为 Visible (progressPanel.Visibility = Visibility.Visible;) 时,我希望看到一个动画(可能是从 0 到 X 的 DoubleAnimationUsingKeyFrames)。
此外,我有多个 StackPanel,我希望看到这种行为(所以在最好的情况下,我需要一些通用的东西)。 有人知道怎么做吗?
谢谢!
最佳答案
您可以创建和重用在可见性更改时触发动画的自定义 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>
关于.net - 当属性 Visibility 更改时为 StackPanel 设置动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/432550/