故事板在两个控件之间交替不透明度

时间:2011-10-02 11:19:04

标签: wpf storyboard

我正在尝试提出一个基于XAML的StoryBoard,它可以交替使用两个Label控件之间的不透明度。

e.g。

Label1和Label2。窗口加载时,Label2默认情况下将Opacity设置为0。

我希望实现以下目标:

Label1 =不透明度1(暂停10秒) 淡出Label1 Out

当Label1为Opacity 0时,淡入Label2(再次暂停10秒) 淡出Label2

然后循环。

我尝试过将Storyboard Repeats,AutoReverse和DataTriggers绑定在两个标签之间,但我似乎无法让它以这种方式运行。

1 个答案:

答案 0 :(得分:2)

您可以为每个标签使用关键帧动画,类似

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