Animation In Code
<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/interactivedesigner/2006"
mc:Ignorable="d" Background="#FFFFFFFF" x:Name="DocumentRoot"
x:Class="AnimationExamples.AnimationInCode" Width="640" Height="480">
<Grid.Resources>
<Storyboard x:Key="OnLoaded"/>
</Grid.Resources>
<Grid.Triggers>
<EventTrigger RoutedEvent="FrameworkElement.Loaded">
<BeginStoryboard x:Name="OnLoaded_BeginStoryboard" Storyboard="{DynamicResource OnLoaded}"/>
</EventTrigger>
</Grid.Triggers>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition/>
</Grid.RowDefinitions>
<Slider d:LayoutOverrides="Width, Height" HorizontalAlignment="Right" VerticalAlignment="Bottom" Margin="0,0,212,87" Width="105" Height="33" x:Name="WidthControl" Maximum="100" Minimum="0"/>
<Label d:LayoutOverrides="Width, Height" HorizontalAlignment="Left" VerticalAlignment="Bottom" Margin="208,0,0,97.893333333333" Width="100" Height="23.2766666666667" x:Name="ContentLabel" Content="Circle Opacity:" RenderTransformOrigin="0.5,0.5" TabIndex="4"/>
<Ellipse Stroke="{x:Null}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="228,163,233,138" Width="Auto" Height="Auto" x:Name="MyControl">
<Ellipse.Fill>
<RadialGradientBrush>
<GradientStop Color="#FFFFFFFF" Offset="0"/>
<GradientStop Color="#FF87001C" Offset="0.73735921399473"/>
<GradientStop Color="#FF4C000F" Offset="1"/>
</RadialGradientBrush>
</Ellipse.Fill>
</Ellipse>
</Grid>
//File:Window.xaml.cs
using System;
using System.IO;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Data;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace AnimationExamples
{
public partial class AnimationInCode
{
public AnimationInCode()
{
this.InitializeComponent();
}
protected override void OnInitialized(EventArgs e)
{
base.OnInitialized(e);
DoubleCollection tickMarks = new DoubleCollection();
tickMarks.Add(0);
tickMarks.Add(100);
this.WidthControl.Ticks = tickMarks;
this.WidthControl.TickPlacement = TickPlacement.BottomRight;
this.WidthControl.AutoToolTipPlacement = AutoToolTipPlacement.TopLeft;
this.WidthControl.AutoToolTipPrecision = 0;
this.WidthControl.Value = this.WidthControl.Maximum;
this.WidthControl.PreviewMouseUp += new MouseButtonEventHandler(WidthControl_MouseUp);
}
private void WidthControl_MouseUp(object sender, MouseButtonEventArgs e)
{
DoubleAnimation moveAnimation = new DoubleAnimation();
moveAnimation.From = this.MyControl.Opacity;
moveAnimation.To = this.WidthControl.Value / this.WidthControl.Maximum;
moveAnimation.Duration = new Duration(TimeSpan.FromSeconds(.5));
moveAnimation.DecelerationRatio = .5;
MyControl.BeginAnimation(Shape.OpacityProperty, moveAnimation);
}
}
}
Related examples in the same category