作成したユーザー コントロールにフリップ アニメーションを追加しようとしています。ユーザー コントロールは単純で、87x87 の画像の前後といくつかのプロパティがあります。私が楽しみのために取り組んでいるゲームのタイルを表すと思われます。ユーザーがデッキからタイルを選択する際の反転効果をアニメーション化しようとしています。2 つの理由から、xaml ではなくコードを使用してこれを行う必要があると感じています。
私が得ている問題は、メソッドが終了した後に最後のアニメーションが実行されることだけです。ストーリーボードが必要だと思いますが、私が見たすべての例は、次の 2 つの点で私を混乱させました。
ストーリー ボードの途中で画像を変更するにはどうすればよいですか。また、targetProperty を何に設定すればよいでしょうか。私はこれら 2 つのブログに取り組んできました。
http://www.codeguru.com/csharp/csharp/cs_misc/userinterface/article.php/c12221 http://blogs.msdn.com/tess/archive/2009/03/16/silverlight-wpf-flipimage-animation .aspx
public void FlipFront()
{
DoubleAnimation flipfront = new DoubleAnimation(0, 90, new Duration(new TimeSpan(0, 0, 1)));
SkewTransform skew = new SkewTransform();
this.RenderTransform = skew;
skew.BeginAnimation(SkewTransform.AngleYProperty, flipfront);
}
public void FlipBack()
{
ImageSourceConverter source = new ImageSourceConverter();
this.ImageFace.Source = new BitmapImage(new Uri("Back.jpg", UriKind.Relative));
DoubleAnimation flipfront = new DoubleAnimation(90, 0, new Duration(new TimeSpan(0, 0, 1)));
SkewTransform skew = new SkewTransform();
this.RenderTransform = skew;
skew.BeginAnimation(SkewTransform.AngleYProperty, flipfront);
}
public void Flip()
{
FlipFront();
FlipBack();
}
私が経験している問題を解決するのに役立つと思ったので、フリップを 2 つの別々の方法に分割しました。