DiscreteObjectKeyFrame的故事板在Windows Phone 8中不起作用

时间:2014-09-18 13:53:51

标签: windows-phone-8 storyboard blend

我的Windows Phone 8 app就像这样一个故事板动画。

<Storyboard x:Name="eqAnimation" RepeatBehavior="forever">
        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="imageEq" Storyboard.TargetProperty="Source">
            <DiscreteObjectKeyFrame KeyTime="0:0:0.0" Value="/Assets/zikzak.png" />
            <DiscreteObjectKeyFrame KeyTime="0:0:0.2" Value="/Assets/zikzak2.png" />
        </ObjectAnimationUsingKeyFrames>
</Storyboard>

但它根本不玩。我必须更改图像控件的源才能进行连续动画。

1 个答案:

答案 0 :(得分:0)

我有一个工作片段,刚刚使用Windows Phone 8模拟器进行了测试。您可以将其复制到您的代码中(当然更新图像路径),看它是否正在运行。

故事板在页面加载时开始,而不是在代码隐藏中启动。

<Image x:Name="img"> <!--do not set the Source here-->
    <Image.Triggers>
        <EventTrigger RoutedEvent="FrameworkElement.Loaded">
            <BeginStoryboard>
                <Storyboard RepeatBehavior="Forever">
                    <ObjectAnimationUsingKeyFrames Storyboard.TargetName="img"
                                           Storyboard.TargetProperty="Source">
                        <DiscreteObjectKeyFrame KeyTime="0:0:0.01" Value="/Assets/zikzak.png"/>
                        <DiscreteObjectKeyFrame KeyTime="0:0:0.2" Value="/Assets/zikzak2.png"/>
                        <DiscreteObjectKeyFrame KeyTime="0:0:0.4" Value="/Assets/zikzak.png"/>
                        <DiscreteObjectKeyFrame KeyTime="0:0:0.6" Value="/Assets/zikzak2.png"/>

                    </ObjectAnimationUsingKeyFrames>
                </Storyboard>
            </BeginStoryboard>
        </EventTrigger>
    </Image.Triggers>
</Image>