Animation 使用Windows8在Xaml中翻译图像

Animation 使用Windows8在Xaml中翻译图像,animation,windows-8,winrt-xaml,Animation,Windows 8,Winrt Xaml,我是XAML和Windows8的新手。我想动画图像从屏幕外的一些X,Y值。我已成功地将图像从其原始位置移动到使用 var translate = new TranslateTransform(); translate.X = 400; translate.Y = 400; MyImage.RenderTransform = translate; 其中MyImage是在XAML中定义的 但是,我想使用线性缓和动画,使其从一点滑动到另一点。我在一些例子中看到了故事板的使用,但我不确定如何完成我的任

我是XAML和Windows8的新手。我想动画图像从屏幕外的一些X,Y值。我已成功地将图像从其原始位置移动到使用

var translate = new TranslateTransform();
translate.X = 400;
translate.Y = 400;
MyImage.RenderTransform = translate;
其中MyImage是在XAML中定义的

但是,我想使用线性缓和动画,使其从一点滑动到另一点。我在一些例子中看到了故事板的使用,但我不确定如何完成我的任务。另外,我想在代码中设置图像的结束点,而不是在XAML中


任何帮助都将不胜感激。

这很有效,谢谢。但是,我希望在代码中设置多个图像的动画,并且希望重新使用故事板,因为我不知道需要多少次设置图像的动画。可以用C#而不是XAML创建故事板和图像吗?谢谢。但是,我希望在代码中设置多个图像的动画,并且希望重新使用故事板,因为我不知道需要多少次设置图像的动画。可以用C#而不是XAML创建故事板和图像吗?
<Page.Resources>
    <Storyboard x:Name="Storyboard1">
        <DoubleAnimationUsingKeyFrames x:Name="TranslateX" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateX)" Storyboard.TargetName="imageToAnimate">
        </DoubleAnimationUsingKeyFrames>
        <DoubleAnimationUsingKeyFrames x:Name="TranslateY" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateY)" Storyboard.TargetName="imageToAnimate">
        </DoubleAnimationUsingKeyFrames>
    </Storyboard>
</Page.Resources>

<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
    <Image x:Name="imageToAnimate" Source="/Assets/Logo.png" Width="150" Height="150" RenderTransformOrigin="0.5,0.5">
        <Image.RenderTransform>
            <CompositeTransform/>
        </Image.RenderTransform></Image>
</Grid>
        EasingDoubleKeyFrame animateX1 = new EasingDoubleKeyFrame();
        animateX1.KeyTime = new TimeSpan(0);
        animateX1.Value = 1;
        EasingDoubleKeyFrame animateX2 = new EasingDoubleKeyFrame();
        animateX2.KeyTime = new TimeSpan(0, 0, 2);
        animateX2.Value = 250;

        EasingDoubleKeyFrame animateY1 = new EasingDoubleKeyFrame();
        animateY1.KeyTime = new TimeSpan(0);
        animateY1.Value = 1;
        EasingDoubleKeyFrame animateY2 = new EasingDoubleKeyFrame();
        animateY2.KeyTime = new TimeSpan(0, 0, 2);
        animateY2.Value = 250;

        TranslateX.KeyFrames.Add(animateX1);
        TranslateX.KeyFrames.Add(animateX2);

        TranslateY.KeyFrames.Add(animateY1);
        TranslateY.KeyFrames.Add(animateY2);

        Storyboard1.Begin();