0

我无法播放动画故事板。仅显示最后一张图片动画。有什么问题?

我的代码创建动画:

public static class AnimationHelper
    {
        private const string PathImageAnimation = "/LeSommet.ZooSnap.UI.WindowsPhone;component/Resources/Images/Animation/ButtonState{0}.png";

        public static void StartAnimation(UIElement target)
        {
            Storyboard storyboard = new Storyboard();

            ObjectAnimationUsingKeyFrames objectAnimation = new ObjectAnimationUsingKeyFrames();
            objectAnimation.AutoReverse = false;
            objectAnimation.SpeedRatio = 2;
            Storyboard.SetTargetProperty(objectAnimation, new PropertyPath("Source"));
            Storyboard.SetTarget(objectAnimation, target);

            for (int i = 1; i <= 4; i++)
            {
                DiscreteObjectKeyFrame discreteObject = new DiscreteObjectKeyFrame()
                {
                    KeyTime = TimeSpan.FromMilliseconds(1000),
                    Value = new BitmapImage(new Uri(string.Format(PathImageAnimation, i), UriKind.Relative))
                };
                objectAnimation.KeyFrames.Add(discreteObject);
            }
            storyboard.Children.Add(objectAnimation);


            storyboard.Begin();
        }
    }

我的代码图像 xaml:

<Image Source="/LeSommet.ZooSnap.UI.WindowsPhone;component/Resources/Images/Animation/ButtonState5.png"                            
                           VerticalAlignment="Center"
                           HorizontalAlignment="Center"
                           Width="110" Height="110" Stretch="Fill"
                           x:Name="imageSquareAnimation">
4

1 回答 1

2

你所有的关键帧都在同一时间吗?

                KeyTime = TimeSpan.FromMilliseconds(1000),

你可以试试:

                KeyTime = TimeSpan.FromMilliseconds(1000 * i),

尝试学习如何使用 Blend - 它有一个出色的编辑器来帮助您创建动画。

于 2012-11-30T08:08:57.827 回答