Create an interactive animation using XAML and the Storyboard
<Window x:Class="WpfApplication1.CombineTransformAnimation"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Animating Combine Transforms" Height="320" Width="300">
<Window.Resources>
<Style TargetType="{x:Type Button}">
<Setter Property="HorizontalAlignment" Value="Center" />
<Setter Property="RenderTransformOrigin" Value="0.5,0.5" />
<Setter Property="Margin" Value="10" />
<Setter Property="Width" Value="80" />
<Setter Property="Height" Value="40" />
<Setter Property="RenderTransform">
<Setter.Value>
<TransformGroup>
<ScaleTransform />
<SkewTransform />
<RotateTransform />
</TransformGroup>
</Setter.Value>
</Setter>
<Style.Triggers>
<EventTrigger RoutedEvent="Button.MouseEnter">
<EventTrigger.Actions>
<BeginStoryboard Name="StoryboardBegin">
<Storyboard>
<DoubleAnimation
Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"
To="1.5" Duration="0:0:1" RepeatBehavior="1x" />
<DoubleAnimation
Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"
To="1.5" Duration="0:0:1" RepeatBehavior="1x" />
<DoubleAnimation
Storyboard.TargetProperty="RenderTransform.Children[1].AngleX"
To="30" Duration="0:0:1" RepeatBehavior="1x" />
</Storyboard>
</BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>
<EventTrigger RoutedEvent="Rectangle.MouseLeave">
<EventTrigger.Actions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"
Duration="0:0:0.5" />
<DoubleAnimation
Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"
Duration="0:0:0.5" />
<DoubleAnimation
Storyboard.TargetProperty="RenderTransform.Children[1].AngleX"
Duration="0:0:0.5" />
</Storyboard>
</BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>
</Style.Triggers>
</Style>
</Window.Resources>
<StackPanel Margin="20" HorizontalAlignment="Center">
<Button Click="btn1_Click" x:Name="btn1">Button1</Button>
<Button Click="btn2_Click" x:Name="btn2">Button2</Button>
<Button Click="btnClose_Click">Close</Button>
<TextBlock Name="tb1" Margin="5,40,5,5" />
</StackPanel>
</Window>
//File:Window.xaml.vb
Imports System
Imports System.Windows
Imports System.Windows.Controls
Imports System.Windows.Input
Imports System.Windows.Media
Imports System.Windows.Shapes
Namespace WpfApplication1
Public Partial Class CombineTransformAnimation
Inherits Window
Public Sub New()
InitializeComponent()
End Sub
Private Sub btn1_Click(sender As Object, e As RoutedEventArgs)
tb1.Text = "You are clicking on " + btn1.Content
End Sub
Private Sub btn2_Click(sender As Object, e As RoutedEventArgs)
tb1.Text = "You are clicking on " + btn2.Content
End Sub
Private Sub btnClose_Click(sender As Object, e As RoutedEventArgs)
Me.Close()
End Sub
End Class
End Namespace
Related examples in the same category