Раскадровка для чередования непрозрачности между двумя элементами управления

#wpf #storyboard

#wpf #раскадровка

Вопрос:

Я пытаюсь создать раскадровку на основе XAML, которая чередует непрозрачность между двумя элементами управления Label.

например

Label1 и Label2. При загрузке окна Label2 по умолчанию имеет значение непрозрачности 0.

Я хочу добиться чего-то вроде:

Label1 = Непрозрачность 1 (пауза на 10 секунд) Исчезает надпись1

Когда Label1 имеет значение непрозрачности 0, исчезает Label2 (пауза на 10 секунд снова) Исчезает Label2

Затем выполните цикл.

Я пытался использовать повторы раскадровки, автореверсию и DataTriggers, привязанные к двум меткам, но, похоже, я просто не могу заставить его функционировать таким образом.

Ответ №1:

Вы можете использовать анимацию ключевых кадров для каждой метки, что-то вроде этого

 <Label Content="LABEL1" Name="Label1">
<Label.Triggers>
    <EventTrigger RoutedEvent="Label.Loaded">
        <EventTrigger.Actions>
            <BeginStoryboard>
                <Storyboard>
                    <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity" RepeatBehavior="Forever">
                        <LinearDoubleKeyFrame Value="1" KeyTime="0:0:10"></LinearDoubleKeyFrame>
                        <LinearDoubleKeyFrame Value="0" KeyTime="0:0:11"></LinearDoubleKeyFrame>
                        <LinearDoubleKeyFrame Value="0" KeyTime="0:0:22"></LinearDoubleKeyFrame>
                        <LinearDoubleKeyFrame Value="1" KeyTime="0:0:23"></LinearDoubleKeyFrame>
                    </DoubleAnimationUsingKeyFrames>
                </Storyboard>
            </BeginStoryboard>
        </EventTrigger.Actions>
    </EventTrigger>
</Label.Triggers>
  

Комментарии:

1. Отлично! Еще не играл с ключевыми кадрами. Огромное спасибо.