このような AnimateHorizontally と AnimateVertically の 2 つのアニメーション メソッドがあるとします。
public void AnimateHorizontally(FrameworkElement element, double XMoveStart, double XMoveEnd, int milli)
{
BackEase eEase = new BackEase();
Storyboard sb = new Storyboard();
DoubleAnimation daX = new DoubleAnimation(XMoveStart, XMoveEnd, new Duration(new TimeSpan(0, 0, 0, 0, milli)));
daX.EasingFunction = eEase;
Storyboard.SetTargetProperty(daX, new PropertyPath("(Canvas.Left)"));
sb.Children.Add(daX);
element.BeginStoryboard(sb);
}
public void AnimateVertically(FrameworkElement element, double YMoveStart, double YMoveEnd, int milli)
{
ElasticEase eEase = new ElasticEase();
Storyboard sb = new Storyboard();
DoubleAnimation daY = new DoubleAnimation(YMoveStart, YMoveEnd, new Duration(new TimeSpan(0, 0, 0, 0, milli)));
daY.EasingFunction = eEase;
Storyboard.SetTargetProperty(daY, new PropertyPath("(Canvas.Top)"));
sb.Children.Add(daY);
element.BeginStoryboard(sb);
}
オブジェクト A に適用すると、XMoveStart と XMoveEnd から水平に移動します。オブジェクト B があり、オブジェクト B に ElasticEase を適用して垂直方向に移動させたい場合。
オブジェクト A と B のアニメーションが同時にスムーズに開始されるはずですが、どうすればよいですか?
電話するだけで
AnimateVertically(A)
AnimateHorizontally(B)
スムーズに動作せず、同時ではないようです。誰でも助けることができますか?ストーリーボードを使用する必要はありません。仕事をする他のアニメーション方法があれば、それらも使用できます。