4
私はストーリーボードの方法でこのようなことをしていますが、希望の結果を達成することはできません。このアニメーションは、ページが読み込まれた後に再生したいものです。短いそれをカットする両方の軸(X、Y)のアニメーションを同時に変換する方法は?
private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
{
CreateTranslateAnimation(image1);
}
private void CreateTranslateAnimation(UIElement source)
{
Storyboard sb = new Storyboard();
DoubleAnimationUsingKeyFrames animationFirstX = new DoubleAnimationUsingKeyFrames();
source.RenderTransform = new CompositeTransform();
Storyboard.SetTargetProperty(animationFirstX, new PropertyPath(CompositeTransform.TranslateXProperty));
Storyboard.SetTarget(animationFirstX, source.RenderTransform);
animationFirstX.KeyFrames.Add(new EasingDoubleKeyFrame() { KeyTime = kt1, Value = 20 });
DoubleAnimationUsingKeyFrames animationFirstY = new DoubleAnimationUsingKeyFrames();
source.RenderTransform = new CompositeTransform();
Storyboard.SetTargetProperty(animationFirstY, new PropertyPath(CompositeTransform.TranslateYProperty));
Storyboard.SetTarget(animationFirstY, source.RenderTransform);
animationFirstY.KeyFrames.Add(new EasingDoubleKeyFrame() { KeyTime = kt1, Value = 30 });
sb.Children.Add(animationFirstX);
sb.Children.Add(animationFirstY);
sb.Begin();
}
...
は、私はあなたが二回source.RenderTransform
を設定している。このコード
<Storyboard x:Name="Storyboard1">
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateX)" Storyboard.TargetName="image1">
<EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="20"/>
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateY)" Storyboard.TargetName="image1">
<EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="30"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
これは、それは何をするのかは、あなたが望むものではないのですか?このコードをどのように使用しているかを示す完全な例を提供してください。 –
これは画像をy軸に沿って移動するだけで、私が必要としたのは です。このコードを書くのは、diagのように両方の軸に沿って動かすことでした。例えば、(0,0)から(20,30)まではコーパスです。 animationFirstX.KeyFrames.Add(新しいEasingDoubleKeyFrame(){KeyTime = KT1、値= 20} animationFirstY.KeyFrames.Add(新しいEasingDoubleKeyFrame(){KeyTime = KT1、値= 30} に示すこれらのラインは、(参照しますコード) – user1235555
xamlでアニメーションを定義して、コードにアクセスして実行時にその小道具を変更することもできます。 – Vitalij