スキューアニメーションをダブルアニメーションクラスに変換することで進歩を遂げました。残っている唯一の問題は、アニメーションがディスパッチタイマーによって呼び出されたときに、エラーがスローされることです。エラーは次のとおりです...
オブジェクトが封印または凍結されているため、「System.Windows.Media.MatrixTransform」の「AngleX」プロパティをアニメーション化できません。
アニメーションが機能するように、このエラーをどのように克服しますか?
public static void Grass(Canvas canvas, int boundry)
{
foreach (var element in canvas.Children.OfType<Image>())
{
if (element.Name == "GrassForeground" || element.Name == "GrassBackground")
{
var skewGrass = new DoubleAnimation
{
From = 0,
To = 10,
EasingFunction = new BackEase(),
AutoReverse = true
};
var transform = (MatrixTransform)element.RenderTransform;
transform.BeginAnimation(SkewTransform.AngleXProperty, skewGrass);
}
}
}