Mega Code Archive

 
Categories / VB.Net Tutorial / WPF
 

Rotate Button Animation With Layout

<Window x: Class="Animation.RotateButtonWithLayout"     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"     Title="RotateButtonWithLayout" Height="300" Width="300">   <Window.Resources>     <Style TargetType="{x:Type Button}">       <Setter Property="HorizontalAlignment" Value="Center"></Setter>       <Setter Property="RenderTransformOrigin" Value="0.5,0.5"></Setter>       <Setter Property="LayoutTransform">         <Setter.Value>           <RotateTransform></RotateTransform>         </Setter.Value>       </Setter>       <Style.Triggers>         <EventTrigger RoutedEvent="Button.MouseEnter">           <EventTrigger.Actions>             <BeginStoryboard Name="rotateStoryboardBegin">               <Storyboard>                 <DoubleAnimation Storyboard.TargetProperty="LayoutTransform.Angle"                  To="360" Duration="0:0:0.8" RepeatBehavior="Forever"></DoubleAnimation>               </Storyboard>             </BeginStoryboard>           </EventTrigger.Actions>         </EventTrigger>         <EventTrigger RoutedEvent="Button.MouseLeave">           <EventTrigger.Actions>            <!-- <RemoveStoryboard BeginStoryboardName="rotateStoryboardBegin"></RemoveStoryboard> -->             <BeginStoryboard>               <Storyboard>                 <DoubleAnimation Storyboard.TargetProperty="LayoutTransform.Angle"                    Duration="0:0:0.2"></DoubleAnimation>               </Storyboard>             </BeginStoryboard>           </EventTrigger.Actions>         </EventTrigger>       </Style.Triggers>             </Style>               </Window.Resources>   <StackPanel Margin="5" Button.Click="cmd_Clicked">     <Button>One</Button>     <Button>Two</Button>     <Button>Three</Button>     <Button>Four</Button>   </StackPanel> </Window> //File:Window.xaml.vb Imports System Imports System.Collections.Generic Imports System.Text Imports System.Windows Imports System.Windows.Controls Imports System.Windows.Data Imports System.Windows.Documents Imports System.Windows.Input Imports System.Windows.Media Imports System.Windows.Media.Imaging Imports System.Windows.Shapes Namespace Animation   Public Partial Class RotateButtonWithLayout     Inherits System.Windows.Window     Public Sub New()       InitializeComponent()     End Sub     Private Sub cmd_Clicked(sender As Object, e As RoutedEventArgs)       Console.WriteLine(DirectCast(e.OriginalSource, Button).Content)     End Sub   End Class End Namespace