ElasticEase Class
Represents an easing function that creates an animation that resembles a spring oscillating back and forth until it comes to rest.
Assembly: PresentationCore (in PresentationCore.dll)
System.Windows.Threading.DispatcherObject
System.Windows.DependencyObject
System.Windows.Freezable
System.Windows.Media.Animation.EasingFunctionBase
System.Windows.Media.Animation.ElasticEase
| Name | Description | |
|---|---|---|
![]() | ElasticEase() | Initializes a new instance of the ElasticEase class. |
| Name | Description | |
|---|---|---|
![]() | CanFreeze | Gets a value that indicates whether the object can be made unmodifiable. (Inherited from Freezable.) |
![]() | DependencyObjectType | Gets the DependencyObjectType that wraps the CLR type of this instance. (Inherited from DependencyObject.) |
![]() | Dispatcher | Gets the Dispatcher this DispatcherObject is associated with. (Inherited from DispatcherObject.) |
![]() | EasingMode | Gets or sets a value that specifies how the animation interpolates. (Inherited from EasingFunctionBase.) |
![]() | IsFrozen | Gets a value that indicates whether the object is currently modifiable. (Inherited from Freezable.) |
![]() | IsSealed | Gets a value that indicates whether this instance is currently sealed (read-only).(Inherited from DependencyObject.) |
![]() | Oscillations | Gets or sets the number of times the target slides back and forth over the animation destination. |
![]() | Springiness | Gets or sets the stiffness of the spring. The smaller the Springiness value is, the stiffer the spring and the faster the elasticity decreases in intensity over each oscillation. |
| Name | Description | |
|---|---|---|
![]() | CheckAccess() | Determines whether the calling thread has access to this DispatcherObject.(Inherited from DispatcherObject.) |
![]() | ClearValue(DependencyProperty) | Clears the local value of a property. The property to be cleared is specified by a DependencyProperty identifier. (Inherited from DependencyObject.) |
![]() | ClearValue(DependencyPropertyKey) | Clears the local value of a read-only property. The property to be cleared is specified by a DependencyPropertyKey. (Inherited from DependencyObject.) |
![]() | Clone() | |
![]() | CloneCore(Freezable) | |
![]() | CloneCurrentValue() | |
![]() | CloneCurrentValueCore(Freezable) | |
![]() | CoerceValue(DependencyProperty) | Coerces the value of the specified dependency property. This is accomplished by invoking any CoerceValueCallback function specified in property metadata for the dependency property as it exists on the calling DependencyObject.(Inherited from DependencyObject.) |
![]() | CreateInstance() | |
![]() | CreateInstanceCore() | Creates a new instance of the Freezable derived class. When creating a derived class, you must override this method.(Overrides Freezable.CreateInstanceCore().) |
![]() | Ease(Double) | Transforms normalized time to control the pace of an animation.(Inherited from EasingFunctionBase.) |
![]() | EaseInCore(Double) | 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 a provided DependencyObject is equivalent to the current DependencyObject.(Inherited from DependencyObject.) |
![]() | Finalize() | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.) |
![]() | Freeze() | |
![]() | FreezeCore(Boolean) | |
![]() | GetAsFrozen() | |
![]() | GetAsFrozenCore(Freezable) | |
![]() | GetCurrentValueAsFrozen() | |
![]() | GetCurrentValueAsFrozenCore(Freezable) | |
![]() | GetHashCode() | Gets a hash code for this DependencyObject.(Inherited from DependencyObject.) |
![]() | GetLocalValueEnumerator() | Creates a specialized enumerator for determining which dependency properties have locally set values on this DependencyObject. (Inherited from DependencyObject.) |
![]() | GetType() | |
![]() | GetValue(DependencyProperty) | Returns the current effective value of a dependency property on this instance of a DependencyObject. (Inherited from DependencyObject.) |
![]() | InvalidateProperty(DependencyProperty) | Re-evaluates the effective value for the specified dependency property(Inherited from DependencyObject.) |
![]() | MemberwiseClone() | |
![]() | OnChanged() | |
![]() | OnFreezablePropertyChanged(DependencyObject, DependencyObject) | Ensures that appropriate context pointers are established for a DependencyObjectType data member that has just been set.(Inherited from Freezable.) |
![]() | OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty) | This member supports the Windows Presentation Foundation (WPF) infrastructure and is not intended to be used directly from your code.(Inherited from Freezable.) |
![]() | OnPropertyChanged(DependencyPropertyChangedEventArgs) | Overrides the DependencyObject implementation of OnPropertyChanged to also invoke any Changed handlers in response to a changing dependency property of type Freezable.(Inherited from Freezable.) |
![]() | ReadLocalValue(DependencyProperty) | Returns the local value of a dependency property, if it exists. (Inherited from DependencyObject.) |
![]() | ReadPreamble() | |
![]() | SetCurrentValue(DependencyProperty, Object) | Sets the value of a dependency property without changing its value source. (Inherited from DependencyObject.) |
![]() | SetValue(DependencyProperty, Object) | Sets the local value of a dependency property, specified by its dependency property identifier. (Inherited from DependencyObject.) |
![]() | SetValue(DependencyPropertyKey, Object) | Sets the local value of a read-only dependency property, specified by the DependencyPropertyKey identifier of the dependency property. (Inherited from DependencyObject.) |
![]() | ShouldSerializeProperty(DependencyProperty) | Returns a value that indicates whether serialization processes should serialize the value for the provided dependency property.(Inherited from DependencyObject.) |
![]() | ToString() | Returns a string that represents the current object.(Inherited from Object.) |
![]() | VerifyAccess() | Enforces that the calling thread has access to this DispatcherObject.(Inherited from DispatcherObject.) |
![]() | WritePostscript() | |
![]() | WritePreamble() |
| Name | Description | |
|---|---|---|
![]() ![]() | OscillationsProperty | Identifies the Oscillations dependency property. |
![]() ![]() | SpringinessProperty | Identifies the Springiness dependency property. |
You can control when in the "spring" behavior occurs in an animation by specifying the EasingMode property value. The following graph demonstrates the different values of EasingMode, where f(t) represents the animation progress and t represents time.

You can specify how many times the animation oscillates back and forth using the Oscillations property and how tight the springiness of the oscillations are using the Springiness property.
Note |
|---|
Because this animation causes values to oscillate back and forth, the animation might interpolate into negative numbers unexpectedly. This can cause errors when animating properties that do not allow negative numbers. For example, if you apply this animation to the Height of an object (e.g. from 0 to 200 with an EasingMode of EaseIn), the animation will attempt to interpolate through negative numbers for Height which will throw an error. |
There are several other easing functions besides ElasticEase which you can explore using the following Silverlight sample.
In addition to using the easing functions included in the run-time, you can create your own custom easing functions by inheriting from EasingFunctionBase.
<ElasticEase .../>
The following example applies an ElasticEase easing function to a DoubleAnimation to create an animation that resembles a spring oscillating back and forth until it comes to rest.
Available since 4.0
Silverlight
Available since 3.0
Windows Phone Silverlight
Available since 7.0
Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.






