XAML C# WPF Лучше всего эффективный способ сделать заказанную последовательность анимаций

Я хотел бы сделать последовательность анимаций на маркировке, например, сначала сделать анимации непрозрачности от значений от 0 до 1 и наоборот и только в конце анимации непрозрачности и не перед приоритетной анимацией. Я хотел бы сделать это в XAML, кодируют и затем запускают и заканчивают de анимацию из кода C#. Который является лучшим и эффективным способом сделать это?

Все ответы приветствуются!

Заранее спасибо.

8
задан toni 21 March 2010 в 10:07
поделиться

1 ответ

Самый простой способ - определить всю анимацию в одной раскадровке с подходящими свойствами BeginTime и Duration . Таким образом, вся анимация может быть запущена и остановлена ​​как единое целое, но у вас могут быть разные последовательности.

Например:

<Storyboard Duration="0:00:06">
    <DoubleAnimation Duration="0:0:4" Storyboard.TargetName="gear1RotateTransform" Storyboard.TargetProperty="Angle" From="-600" To="0"/>
    <DoubleAnimation Duration="0:0:4" Storyboard.TargetName="gear2RotateTransform" Storyboard.TargetProperty="Angle" From="600" To="0"/>
    <DoubleAnimation Duration="0:0:4" Storyboard.TargetName="gear3RotateTransform" Storyboard.TargetProperty="Angle" From="-600" To="0"/>
    <DoubleAnimation BeginTime="0:0:1" Duration="0:00:02" Storyboard.TargetName="firstLetter" Storyboard.TargetProperty="Opacity" From="0.0" To="1.0"/>
    <DoubleAnimation BeginTime="0:0:2" Duration="0:00:02" Storyboard.TargetName="secondLetter" Storyboard.TargetProperty="Opacity" From="0.0" To="1.0"/>
    <DoubleAnimation BeginTime="0:0:3" Duration="0:00:02" Storyboard.TargetName="thirdLetter" Storyboard.TargetProperty="Opacity" From="0.0" To="1.0"/>
    <DoubleAnimation BeginTime="0:0:4" Duration="0:00:02" Storyboard.TargetName="siteLink" Storyboard.TargetProperty="Opacity" From="0.0" To="1.0"/>
    <DoubleAnimation BeginTime="0:0:4" Duration="0:00:02" Storyboard.TargetName="siteLinkTop" Storyboard.TargetProperty="Opacity" From="0.0" To="1.0"/>
</Storyboard>

Эта раскадровка изменяет значения 3 преобразований поворота в течение первых 4 секунд, но непрозрачность элемента firstLetter не начинает изменяться, пока не пройдет одна секунда. и он работает всего 2 секунды. Прозрачность элементов siteLink и siteLinkTop изменяется только через 4 секунды (после завершения анимации вращения шестеренки).

15
ответ дан 5 December 2019 в 11:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: