2011-01-15 6 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> 

가 임의의 위치를 ​​설정하고 시작 :

var sb= image.Resources["anim"] as Storyboard; 
var anim = sb.Children[0] as DoubleAnimation; 
anim.To = // some random position 
sb.Begin(); 
을 나는 XAML에서 애니메이션을 만들 것