Animation 使用Windows8在Xaml中翻译图像
我是XAML和Windows8的新手。我想动画图像从屏幕外的一些X,Y值。我已成功地将图像从其原始位置移动到使用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中定义的 但是,我想使用线性缓和动画,使其从一点滑动到另一点。我在一些例子中看到了故事板的使用,但我不确定如何完成我的任
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();