Как я могу применить несколько DoubleAnimation на TextBlock - PullRequest
0 голосов
/ 18 октября 2018

У меня есть переменные, подобные этой

<Grid Grid.Column="1" x:Name="AdvArea" Margin="10,0,0,0">
    <Canvas x:Name="Advertise" Background="{x:Null}" Margin="10,0,0,0" >
        <TextBlock Name="AdvMarquee" Text="Scroll Text For Advertise" Padding="10, 0, 10, 0"/>
    </Canvas>
</Grid>

Я наконец применил Marquee с DoubleAnimation для TextBlock с этим кодом.

private void UserControl_Loaded( object sender, RoutedEventArgs e )
{
    DoubleAnimation doubleAnimation = new DoubleAnimation();
    doubleAnimation.From = -AdvMarquee.ActualHeight;
    doubleAnimation.To = 0;
    doubleAnimation.RepeatBehavior = RepeatBehavior.Forever;
    doubleAnimation.Duration = new Duration( TimeSpan.FromSeconds(5) );

    AdvMarquee.BeginAnimation( Canvas.TopProperty, doubleAnimation );

    // Dev Area
    List<String> Messages = new List<String>();

    Messages.Add( String.Format( "AdvMarquee : HasAnimatedProperties > " + AdvMarquee.HasAnimatedProperties ) );
    Messages.Add( String.Format( "doubleAnimation.From : " + doubleAnimation.From ) );
    Messages.Add( String.Format( "doubleAnimation.To : " + doubleAnimation.To ) );
    Messages.Add( String.Format( "doubleAnimation.RepeatBehavior : " + doubleAnimation.RepeatBehavior ) );
    Messages.Add( String.Format( "doubleAnimation.Duration : " + doubleAnimation.Duration ) );


    MessageBox.Show( String.Join("\n", Messages ) );
}

Я планировал сделать прокрутку текста вне диапазонана экран

и остановите момент для показа

, после этого прокрутите экран на экран.

, но я не знаю, как применить другую анимацию после завершения существующей анимации.

Мой сценарий

  1. Прокрутка моего текста снаружи экрана до экрана

  2. сохранитьэтот текст на мгновение (например, 10 секунд)

  3. снова прокрутите вниз от экрана к экрану.

ЧтоМне нужно знать

  1. Применить DoubleAnimation к TextBlock (Готово)

  2. Применить еще одну DoubleAnimation после завершения первой DoubleAnimation.

С любым наконечником все в порядке, дайте мне руки.

спасибо.

1 Ответ

0 голосов
/ 18 октября 2018

Вам необходимо создать раскадровку, представляющую собой объект, который допускает несколько дочерних анимаций.Используйте его для анимации более чем одного свойства одновременно, а также для цепочки анимаций одна за другой.Начните со следующей документации .

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