Windows Phone 7 で次のコードを使用してアニメーション化しましたCompositeTransform
。
var da = new DoubleAnimationUsingKeyFrames() ;
_storyboard.Children.Add (da);
_translateXKeyFrame = new EasingDoubleKeyFrame {...}
da.KeyFrames.Add (_translateXKeyFrame);
Storyboard.SetTarget (da, _transform);
Storyboard.SetTargetProperty(da, "TranslateX");
プロパティをアニメーション化するには、次のコードを使用しました。
_translateXKeyFrame.Value = value;
_storyboard.Begin ();
残念ながら、このコードは winrt では機能しません (アニメーションは実行されません)。
winrt には、従属アニメーションと独立アニメーションの概念があります。EnableDependentAnimation
フラグを設定すると、アニメーションが実行されているように見えます。問題は、ユーザーがタッチパネルとの対話を終了した後にのみアニメーションが実行されることです。
その理由は、ユーザーが何かをしている間は UI スレッドがブロックされているため、依存するアニメーションが実行されないためだと思います。
EnableDependentAnimation
アニメーションが独立したアニメーションとして実行されている場合 (つまり、falseに設定されている場合)、アニメーションが機能しないのはなぜですか?