2010-05-06 3 views
0

J'ai un problème dans WPF XAML et je suis assez nouveau sur ce donc il peut être quelque chose de baseEventTrigger RoutedEvent dans WPF XAML

je veux faire pivoter une ellipse de 360 ​​degrés

<Ellipse Name="test" Fill="Black" StrokeThickness="5" Margin="0,0,0,0" Height="66"> 
     <Ellipse.Triggers> 
      <EventTrigger RoutedEvent="Ellipse.Loaded" SourceName="test"> 
       <BeginStoryboard> 
        <Storyboard> 
         <DoubleAnimation 
         Storyboard.TargetName="test" 
         Storyboard.TargetProperty="(Ellipse.RenderTransform).(RotateTransform.Angle)" 
         From="0" 
         To="360" 
         Duration="0:0:0.5" 
         RepeatBehavior="1x" /> 
        </Storyboard> 
       </BeginStoryboard> 
      </EventTrigger> 
     </Ellipse.Triggers> 
    </Ellipse> 

Mais rien arrive, qu'est-ce qui ne va pas?

Répondre

2

Tout d'abord. vous aurez besoin de l'objet RotateTransform dans votre ellipse:

<Ellipse.RenderTransform> 
    <RotateTransform x:Name="transform" /> 
</Ellipse.RenderTransform> 

modifier ces propriétés dans votre Storyboard:

Storyboard.TargetName="transform" 
Storyboard.TargetProperty="Angle" 

Et cela devrait fonctionner!

Vous pouvez également ne changer le TargetProperty, et laisser le TargetName sur le test:

Storyboard.TargetName="test" 
Storyboard.TargetProperty="RenderTransform.Angle" 

De cette façon, votre objet RotateTransform n'a pas besoin d'un nom!

Mettre le tout ensemble:

<Ellipse Name="test" Fill="Black" StrokeThickness="5" Margin="0,0,0,0" Height="66"> 
    <Ellipse.RenderTransform> 
     <RotateTransform /> 
    </Ellipse.RenderTransform> 
    <Ellipse.Triggers> 
     <EventTrigger RoutedEvent="Ellipse.Loaded" SourceName="test"> 
     <BeginStoryboard> 
     <Storyboard> 
      <DoubleAnimation 
       Storyboard.TargetName="test" 
       Storyboard.TargetProperty="RenderTransform.Angle" 
       From="0" To="360" Duration="0:0:0.5" RepeatBehavior="1x" /> 
     </Storyboard> 
     </BeginStoryboard> 
     </EventTrigger> 
    </Ellipse.Triggers> 
</Ellipse> 
+0

travaillé comme un charme :) Merci – Cinaird