2011-01-15 12 views
2

私はSilverlightイメージを持っています。Silverlightでのランダムアニメーション

<Image Source="pics/pic1.png" Stretch="Fill" Canvas.Left="50" Canvas.Top="50" Width="100" Height="100" MouseLeftButtonUp="startRandomAnim"> 
    <Image.Resources> 
     <Storyboard x:Name="randomMove"> 
      <!-- code --> 
     </Storyboard> 
    </Image.Resources> 
</Image> 

クリックするとキャンバス上のランダムな点に移動したいと思います。それ、どうやったら出来るの?私はXAMLファイルでそれを行うことはできますか、それは基礎となるC#で処理する必要がありますか?

答えて

1

ランダムな値を取得するには、いくつかのコードを使用する必要があります。

可能な限りC#を使用するには、アニメーションのターゲットの座標を含むクラスを作成し、このクラスのオブジェクトを作成してイメージのDataContextに配置し、ストーリーボードから座標まで。次に、使用がクリックされると、ランダム座標を生成し、アニメーションを開始します。

0

ストーリーボードに乱数を生成することはできません。ランダムな場所を設定して画像のクリックハンドラで次に

<Image Source="pics/pic1.png" Stretch="Fill" Canvas.Left="50" Canvas.Top="50" Width="100" Height="100" MouseLeftButtonUp="startRandomAnim" 
     x:Name="myImage"> 
     <Image.Resources> 
      <Storyboard x:Key="anim"> 
       <DoubleAnimation Storyboard.TargetName="myImage" Storyboard.TargetProperty="(Canvas.Left)" To="30" Duration="0:0:0.1" /> 
      </Storyboard> 
     </Image.Resources> 
</Image> 

やアニメーションを開始:私は、XAMLでアニメーションを作成することになり

var sb= image.Resources["anim"] as Storyboard; 
var anim = sb.Children[0] as DoubleAnimation; 
anim.To = // some random position 
sb.Begin(); 
関連する問題