Поделиться через


Как заставить элемент вращаться на одном месте

В этом примере показано, как заставить элемент вращаться с помощью RotateTransform и DoubleAnimation.

В следующем примере применяется RotateTransform к свойству RenderTransform элемента. В примере используется DoubleAnimation для анимации AngleRotateTransform. Чтобы элемент вращался на месте, в примере устанавливают свойство RenderTransformOrigin элемента в точку (0.5, 0.5).

Пример

<!-- RotateAboutCenterExample.xaml
     This example shows how to make an element spin
     about its center. -->
<Page 
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  x:Class="Microsoft.Samples.Animation.RotateAboutCenterExample" 
  WindowTitle="Rotate About Center Example">    
  <StackPanel Margin="50">
    
    <Button
      RenderTransformOrigin="0.5,0.5"
      HorizontalAlignment="Left">
        Hello,World
      <Button.RenderTransform>
        <RotateTransform x:Name="MyAnimatedTransform" Angle="0" />
      </Button.RenderTransform>
      <Button.Triggers>
        <EventTrigger RoutedEvent="Button.Click">
          <BeginStoryboard>
            <Storyboard>
              <DoubleAnimation
                Storyboard.TargetName="MyAnimatedTransform"
                Storyboard.TargetProperty="(RotateTransform.Angle)"
                From="0.0" To="360" Duration="0:0:1" />
            </Storyboard>
          </BeginStoryboard>
        </EventTrigger>
      </Button.Triggers>
    </Button> 
  </StackPanel> 
</Page>

Полный пример, включающий дополнительные примеры преобразования, см. в разделе примеры преобразования 2D.

См. также