动画控制:使用正确的高度

时间:2011-08-05 10:06:35

标签: c# wpf xaml animation storyboard

我有一个Button和一个UserControl。 UserControl的高度设置为0.当我单击Button时,我使用StoryBoard将UserControl的高度设置为100. UserControl变为可见。工作正常。

但是现在我想摆脱100的固定值并动画到UserControl通常占用的大小。有关如何做到这一点的任何建议吗?

这是我的StoryBoard。

<Storyboard x:Key="animateIn">
    <DoubleAnimation To="100" Storyboard.TargetName="myControl" Storyboard.TargetProperty="Height" Duration="0:0:0.1" />
</Storyboard>

1 个答案:

答案 0 :(得分:2)

改为动画ScaleTransform.ScaleY

<UserControl x:Name="myControl">
    <UserControl.LayoutTransform>
        <ScaleTransform ScaleY="0" />
    </UserControl.LayoutTransform>
</UserControl>

<Storyboard x:Key="animateIn">
    <DoubleAnimation To="1"
        Storyboard.TargetName="myControl"
        Storyboard.TargetProperty="LayoutTransform.(ScaleTransform.ScaleY)"
        Duration="0:0:0.1" />
</Storyboard>