2015-06-12 86 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並將故事板添加到它。