为什么 storyboard.target 没有动画?

Why does the storyboard.target not get animated?

我想在单击按钮时为堆栈面板设置动画,我单击的 Button 会设置动画,而 StackPanel 不会

这个在按钮里ControlTemplate

<EventTrigger RoutedEvent="Click">
    <BeginStoryboard>
        <Storyboard>
            <DoubleAnimation Storyboard.Target="{Binding ElementName=menus}"        
                Storyboard.TargetProperty="Width"
                From="0" To="1500"
                Duration="0:0:2" />
        </Storyboard>
    </BeginStoryboard>
</EventTrigger>

这是在xaml

<StackPanel x:Name="menus" Orientation="Horizontal"
    VerticalAlignment="Bottom"
    HorizontalAlignment="Center"
    Margin="160 0 0 120">
        <Button Margin="30" Content="Open Account" Style="{StaticResource MenuButton}" />
        <Button Margin="30" Content="Instant Card Printing" Style="{StaticResource MenuButton}" />
        <Button Margin="30" Content="Banking Services" Style="{StaticResource MenuButton}" />
        <Button Margin="30" Content="Bill Payment" Style="{StaticResource MenuButton}" />
        <Button Margin="30" Content="Support" Style="{StaticResource MenuButton}" />
</StackPanel>

我希望单击按钮后堆栈面板从左到右动画

我不确定您的代码是什么导致您的示例失败。 XAML 中可能发生了您没有 post 的事情。下面是一个完整且独立的示例,其功能与您描述的完全相同:

<StackPanel>
    <Button Content="Clicky Button" Margin="10" HorizontalAlignment="Left">
        <Button.Triggers>
        <EventTrigger RoutedEvent="PreviewMouseDown">
            <BeginStoryboard>
                <Storyboard>
                    <DoubleAnimation Storyboard.Target="{Binding ElementName=menus}"        
                      Storyboard.TargetProperty="Width"
                      From="0" To="500"
                      Duration="0:0:2" />
                </Storyboard>
            </BeginStoryboard>
            </EventTrigger>
        </Button.Triggers>
    </Button>
    <StackPanel x:Name="menus" Orientation="Horizontal" Width="0"
                VerticalAlignment="Bottom" HorizontalAlignment="Center">
        <Button Content="Open Account" />
        <Button Content="Instant Card Printing" />
        <Button Content="Banking Services" />
        <Button Content="Bill Payment" />
        <Button Content="Support"/>
    </StackPanel>
</StackPanel>

当您点击 'Clicky Button' 时,StackPanel 在 2 秒内增长到 500 的宽度。