Почему storyboard.target не анимируется? - PullRequest
1 голос
/ 11 апреля 2019

Я хочу анимировать панель стека при нажатии кнопки, 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>

Я хочу, чтобы панель стека анимировалась слева направо после нажатия кнопки

1 Ответ

0 голосов
/ 11 апреля 2019

Я не уверен, что из-за того, что твой код приводит к провалу твоего примера.Возможно, в XAML происходит что-то, что вы не опубликовали.Ниже приведен полный и автономный пример, который функционирует точно так же, как вы описали:

<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>

Когда вы нажимаете кнопку «клик», StackPanel увеличивается до ширины 500 в течение 2 секунд.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...