Rotate Button Animation With Layout : Animation « Windows Presentation Foundation « VB.Net Tutorial






<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
WPF Rotate Button Animation With Layout








16.107.Animation
16.107.1.Animation of the combined transformAnimation of the combined transform
16.107.2.Animate the Opacity of TextBlock at different starting timeAnimate the Opacity of TextBlock at different starting time
16.107.3.Animate Canvas positionAnimate Canvas position
16.107.4.RepeatBehavior=2xRepeatBehavior=2x
16.107.5.Xaml ClockXaml Clock
16.107.6.Enlarge Buttons In XamlEnlarge Buttons In Xaml
16.107.7.Setting enumeration values with discrete animations with DiscreteObjectKeyFrameSetting enumeration values with discrete animations with DiscreteObjectKeyFrame
16.107.8.Expand ElementExpand Element
16.107.9.Animating nested propertiesAnimating nested properties
16.107.10.Text AnimationText Animation
16.107.11.Animate TransformationAnimate Transformation
16.107.12.Associating the clicking of each button with a stack of XAML that starts or stops the animationAssociating the clicking of each button with a stack of XAML that starts or stops the animation
16.107.13.Animation In XamlAnimation In Xaml
16.107.14.Using SpeedRatio in a hierarchyUsing SpeedRatio in a hierarchy
16.107.15.Hold on end for an AnimationHold on end for an Animation
16.107.16.Animate Several PropertiesAnimate Several Properties
16.107.17.Animation ProgressBar.Animation ProgressBar.
16.107.18.Control the Progress of an AnimationControl the Progress of an Animation
16.107.19.Remove Animations with AnimationClockRemove Animations with AnimationClock
16.107.20.Remove AnimationsRemove Animations
16.107.21.Timer triggered AnimationTimer triggered Animation
16.107.22.Rolling Ball AnimationRolling Ball Animation
16.107.23.Create animations using the Storyboard in codeCreate animations using the Storyboard in code
16.107.24.Receive Notification When an Animation CompletesReceive Notification When an Animation Completes
16.107.25.A simple, finite animationA simple, finite animation
16.107.26.Code Animation Accelerate DecelerateCode Animation Accelerate Decelerate
16.107.27.Animation with codeAnimation with code
16.107.28.Rotate Button AnimationRotate Button Animation
16.107.29.Rotate Button Animation With LayoutRotate Button Animation With Layout
16.107.30.A Simple Animation in CodeA Simple Animation in Code