2015-06-12 67 views
2

这是我的XAML代码,该按钮位于Stackpanel中。 这doestn与旋转工作!但例如与Storyboard.TargetProperty="Opacity"它的作品。如何在XAML和C#中为WPF按钮的旋转动画?

<Button Content="Button" x:Name="RotateBtn" Style="{StaticResource rainbow}" > 
    <Button.Triggers> 
     <EventTrigger RoutedEvent="Button.Click"> 
      <BeginStoryboard> 
       <Storyboard> 
        <DoubleAnimation 
         Storyboard.TargetProperty="(Button.RenderTransform).(RotateTransform.Angle)" 
         From="1" To="36" Duration="0:0:3" /> 
       </Storyboard> 
      </BeginStoryboard> 
     </EventTrigger> 
    </Button.Triggers> 
</Button> 

其他问题:如何用C#获取相同的动画?

回答

1

默认UIElement.RenderTransformTransform.Identity所以你的动画失败,因为它找不到RotateTransform。您需要在按钮上设置RenderTranformRotateTransform

<Button> 
     <Button.RenderTransform> 
      <RotateTransform/> 
     </Button.RenderTransform> 
    ... 
     </Button> 

快速搜索将为您提供如何在代码中创建故事板的示例。您只需在按钮上创建EventTrigger并将故事板添加到它。