Represents an easing function that creates an animation that accelerates and/or decelerates using the formula f(t) = tp where p is equal to the Power property.
Assembly: System.Windows (in System.Windows.dll)
XMLNS for XAML: Not mapped to an xmlns.
Thetype exposes the following members.
|Dispatcher||Gets the Dispatcher this object is associated with. (Inherited from DependencyObject.)|
|EasingMode||Gets or sets a value that specifies how the animation interpolates. (Inherited from EasingFunctionBase.)|
|Power||Gets or sets the exponential power of the animation interpolation. For example, a value of 7 creates an animation interpolation curve that follows the formula f(t) = t7.|
|CheckAccess||Determines whether the calling thread has access to this object. (Inherited from DependencyObject.)|
|ClearValue||Clears the local value of a dependency property. (Inherited from DependencyObject.)|
|Ease||Transforms normalized time to control the pace of an animation. (Inherited from EasingFunctionBase.)|
|EaseInCore||Provides the logic portion of the easing function that you can override to produce the EaseIn mode of the custom easing function. (Overrides EasingFunctionBase.EaseInCore(Double).)|
|Equals(Object)||Determines whether the specified Object is equal to the current Object. (Inherited from Object.)|
|Finalize||Allows an object to try to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from Object.)|
|GetAnimationBaseValue||Returns any base value established for a Windows Phone dependency property, which would apply in cases where an animation is not active. (Inherited from DependencyObject.)|
|GetHashCode||Serves as a hash function for a particular type. (Inherited from Object.)|
|GetType||Gets the Type of the current instance. (Inherited from Object.)|
|GetValue||Returns the current effective value of a dependency property from a DependencyObject. (Inherited from DependencyObject.)|
|MemberwiseClone||Creates a shallow copy of the current Object. (Inherited from Object.)|
|ReadLocalValue||Returns the local value of a dependency property, if a local value is set. (Inherited from DependencyObject.)|
|SetValue||Sets the local value of a dependency property on a DependencyObject. (Inherited from DependencyObject.)|
|ToString||Returns a string that represents the current object. (Inherited from Object.)|
You can control whether the animation accelerates, decelerates, or both by specifying the EasingMode. The following graph demonstrates the different values of EasingMode, where f(t) represents the animation progress and t represents time.
By using the function, you can specify how quickly acceleration/deceleration takes place by specifying the Power property:
f(t) = tp where p is equal to the Power property.
Because of this, the function can be substituted for QuadraticEase (f(t) = t2), CubicEase (f(t) = t3), QuarticEase (f(t) = t4), and QuinticEase (f(t) = t5). For example, if you wanted to use a function to create the same behavior as a QuadraticEase function (f(t) = t2), you would specify a Power property value of 2.
In addition to using the easing functions included in the run-time, you can create your own custom easing functions by inheriting from EasingFunctionBase.
The following example applies a easing function with a Power property value of 20 to a DoubleAnimation to create a decelerating animation. Because the Power value is so high, the deceleration is sudden compared to if you used a lower value.
<StackPanel x:Name="LayoutRoot" Background="Transparent"> <StackPanel.Resources> <Storyboard x:Name="myStoryboard"> <DoubleAnimation From="30" To="200" Duration="00:00:3" Storyboard.TargetName="myRectangle" Storyboard.TargetProperty="Height"> <DoubleAnimation.EasingFunction> <PowerEase Power="20" EasingMode="EaseOut"/> </DoubleAnimation.EasingFunction> </DoubleAnimation> </Storyboard> </StackPanel.Resources> <Rectangle x:Name="myRectangle" MouseLeftButtonDown="Mouse_Clicked" Fill="Blue" Width="200" Height="30" /> </StackPanel>