1
コントロールを表示するためにScaleTransformを0から1にアニメーション化しようとしています。ScaleTransformアニメーションの後にコントロールが表示されない
次のコードは私にとって完璧なようです。私はStackOverflowの他の質問からのアプローチをここにコピーしました。はい、アニメーションが実行されます(少なくともCompletedが呼び出されます)。ただし、ビジュアルは決して発生しません。これは0から1になるので、コントロールは決して現れません。手動で1(アニメーションなし)に設定しようとしましたが、問題はありません。
== 1に== 0 & &から== 0 & &期間== 3000 & &を始めると仮定してください:
// setup
var _Storyboard = new Storyboard
{
BeginTime = TimeSpan.FromMilliseconds(begin),
Duration = new Duration(TimeSpan.FromMilliseconds(duration)),
};
_Storyboard.Completed += (s, e) => { if (callback != null) callback.Invoke(); };
// force Scale Transform
var _ScaleTransform = new ScaleTransform() { ScaleX = from, ScaleY = from };
food.RenderTransform = _ScaleTransform;
// animate X
var _AnimateX = new DoubleAnimation { From = from, To = to };
_Storyboard.Children.Add(_AnimateX);
Storyboard.SetTarget(_AnimateX, _ScaleTransform);
Storyboard.SetTargetProperty(_AnimateX, new PropertyPath(ScaleTransform.ScaleXProperty));
// animate Y
var _AnimateY = new DoubleAnimation { From = from, To = to };
_Storyboard.Children.Add(_AnimateY);
Storyboard.SetTarget(_AnimateY, _ScaleTransform);
Storyboard.SetTargetProperty(_AnimateY, new PropertyPath(ScaleTransform.ScaleYProperty));
// start
_Storyboard.Begin();
明らかに何かがありますか?