2012-04-03 19 views
0

WPF私はそれが効果的に一度アニメーション私はそれは()を呼び出しBeginAnimationを使用して起動を削除して、すぐにアニメーションの最後までスキップする方法はありアニメーションコードの背後にあるAxisAngleRotation3Dアニメーションをオフにするにはどうすればいいですか?

AxisAngleRotation3D rotation = (AxisAngleRotation3D)Template.FindName(rotationName, this); 
     DoubleAnimation angleAnimation = new DoubleAnimation(); 
     angleAnimation.From = 0.0d; 
     angleAnimation.To = _currentAngle; 
     angleAnimation.Duration = new Duration(new TimeSpan(0, 0,3);   


        rotation.BeginAnimation(AxisAngleRotation3D.AngleProperty, angleAnimation); 

次がありますか? ありがとう!

答えて

0

あなたはヌルで、再び呼び出すことにより、現在のアニメーションを削除することができます

rotation.BeginAnimation(AxisAngleRotation3D.AngleProperty, null); 

使用しているあなたはある程度の時間のためのアニメーションを表示し、早期にそれを終了(またはことを確認する必要があります場合、別のアニメーションを適用する前に停止しています)。

しかし、アニメーションを表示せずにUIElementを回転させようとしている場合は、アニメーションをまったく使用しないでください。プロパティを直接設定してください。

+0

私はそれを答えとしてマークしましたが、少し遅れてしまいました。どのように避けるべきか分かりません... SkipTofill()メソッドは、最初のラグやジッタの出現を避けています。 ..何か案は? – user1202434

+0

@ user1202434ちょうどアップデートとして、私はあなたの遅れの問題を再現するためにプロジェクトをセットアップしようとしています。 Storyboardを設定し、UIElementのBeginAnimationではなくアニメーションを制御しようとしましたか?それが違った振る舞いをするのではないかと思います。 –

関連する問題