2013-08-09 9 views
1

Существует отличный пример простой анимации вращения прямоугольника здесь: WPF Rotate rectangle animation in XAMLПоворот прямоугольника при наведении мышки на

Однако, я только хочу, чтобы повернуть мой прямоугольник на мыши над, и остановки курсора мыши. Вот мой xaml:

<Button Command="{Binding SettingsCommand}" Style="{DynamicResource SettingButton}"> 
    <Rectangle Width="15" Height="15" RenderTransformOrigin="0.5, 0.5"> 
     <Rectangle.RenderTransform> 
      <RotateTransform/> 
     </Rectangle.RenderTransform> 
     <Rectangle.Triggers> 
      <EventTrigger RoutedEvent="Loaded"> 
       <BeginStoryboard> 
        <Storyboard> 
         <DoubleAnimation Storyboard.TargetProperty="(Rectangle.RenderTransform).(RotateTransform.Angle)" To="-360" Duration="0:0:1" RepeatBehavior="Forever"/> 
        </Storyboard> 
       </BeginStoryboard> 
      </EventTrigger> 
     </Rectangle.Triggers> 
     <Rectangle.Fill> 
      <VisualBrush Stretch="Fill" Visual="{StaticResource appbar_cog}"/> 
     </Rectangle.Fill> 
    </Rectangle> 
</Button> 

Как я могу изменить это, чтобы работать только с мышью?

Спасибо!

ответ

1

Вы можете использовать триггеры для MouseEnter и MouseLeave событий:

<Button Command="{Binding SettingsCommand}" Style="{DynamicResource SettingButton}"> 
    <Rectangle Width="15" Height="15" RenderTransformOrigin="0.5, 0.5"> 
     <Rectangle.RenderTransform> 
      <RotateTransform/> 
     </Rectangle.RenderTransform> 
     <Rectangle.Triggers> 
      <EventTrigger RoutedEvent="MouseEnter"> 
       <BeginStoryboard> 
        <Storyboard> 
         <DoubleAnimation 
          Storyboard.TargetProperty="RenderTransform.Angle" 
          To="-360" Duration="0:0:1" RepeatBehavior="Forever"/> 
        </Storyboard> 
       </BeginStoryboard> 
      </EventTrigger> 
      <EventTrigger RoutedEvent="MouseLeave"> 
       <BeginStoryboard> 
        <Storyboard> 
         <DoubleAnimation 
          Storyboard.TargetProperty="RenderTransform.Angle" 
          To="0" Duration="0:0:0"/> 
        </Storyboard> 
       </BeginStoryboard> 
      </EventTrigger> 
     </Rectangle.Triggers> 
     <Rectangle.Fill> 
      <VisualBrush Stretch="Fill" Visual="{StaticResource appbar_cog}"/> 
     </Rectangle.Fill> 
    </Rectangle> 
</Button> 
Смежные вопросы