Rotate Button Animation With Layout : Animation « Windows Presentation Foundation « C# / CSharp Tutorial

Home
C# / CSharp Tutorial
1.Language Basics
2.Data Type
3.Operator
4.Statement
5.String
6.struct
7.Class
8.Operator Overload
9.delegate
10.Attribute
11.Data Structure
12.Assembly
13.Date Time
14.Development
15.File Directory Stream
16.Preprocessing Directives
17.Regular Expression
18.Generic
19.Reflection
20.Thread
21.I18N Internationalization
22.LINQ
23.GUI Windows Forms
24.Windows Presentation Foundation
25.Windows Communication Foundation
26.Workflow
27.2D
28.Design Patterns
29.Windows
30.XML
31.XML LINQ
32.ADO.Net
33.Network
34.Directory Services
35.Security
36.unsafe
C# / CSharp Tutorial » Windows Presentation Foundation » Animation 
24.108.13.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.cs

using System;
using System.Collections.Generic;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;

namespace Animation
{
    public partial class RotateButtonWithLayout : System.Windows.Window
    {
        public RotateButtonWithLayout()
        {
            InitializeComponent();
        }

        private void cmd_Clicked(object sender, RoutedEventArgs e)
        {
            Console.WriteLine( ((Button)e.OriginalSource).Content );
        }

    }
}
WPF Rotate Button Animation With Layout
24.108.Animation
24.108.1.Two AnimationsTwo Animations
24.108.2.Animate RenderTransform AngleAnimate RenderTransform Angle
24.108.3.Animation In StyleAnimation In Style
24.108.4.Animation without acceleration or decelerationAnimation without acceleration or deceleration
24.108.5.XAML Only AnimationXAML Only Animation
24.108.6.Control Animations Through TriggersControl Animations Through Triggers
24.108.7.Four Sided BounceFour Sided Bounce
24.108.8.Matrix Animated ButtonMatrix Animated Button
24.108.9.KeySpline AnimationKeySpline Animation
24.108.10.Repetition countRepetition count
24.108.11.Repetition durationRepetition duration
24.108.12.Rotate Button AnimationRotate Button Animation
24.108.13.Rotate Button Animation With LayoutRotate Button Animation With Layout
24.108.14.A simple, finite animationA simple, finite animation
24.108.15.Animation with codeAnimation with code
24.108.16.Animation In CodeAnimation In Code
24.108.17.A Simple Animation in CodeA Simple Animation in Code
24.108.18.Remove Animations with AnimationClockRemove Animations with AnimationClock
24.108.19.Remove AnimationsRemove Animations
24.108.20.Control the Progress of an AnimationControl the Progress of an Animation
24.108.21.Timer triggered AnimationTimer triggered Animation
24.108.22.Show a Continuous Animation During an Asynchronous ProcessShow a Continuous Animation During an Asynchronous Process
24.108.23.Receive Notification When an Animation CompletesReceive Notification When an Animation Completes
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.