InertiaExpansionBehavior Class

Definition

Controls the deceleration of a resizing manipulation during inertia.

public ref class InertiaExpansionBehavior
public class InertiaExpansionBehavior
type InertiaExpansionBehavior = class
Public Class InertiaExpansionBehavior
Inheritance
InertiaExpansionBehavior

Examples

The following example shows the ManipulationInertiaStarting event handler and sets the desired deceleration for translation, expansion, and rotation that is used during inertia. This example is part of a larger example in Walkthrough: Creating Your First Touch Application.

void Window_InertiaStarting(object sender, ManipulationInertiaStartingEventArgs e)
{

    // Decrease the velocity of the Rectangle's movement by 
    // 10 inches per second every second.
    // (10 inches * 96 pixels per inch / 1000ms^2)
    e.TranslationBehavior.DesiredDeceleration = 10.0 * 96.0 / (1000.0 * 1000.0);

    // Decrease the velocity of the Rectangle's resizing by 
    // 0.1 inches per second every second.
    // (0.1 inches * 96 pixels per inch / (1000ms^2)
    e.ExpansionBehavior.DesiredDeceleration = 0.1 * 96 / (1000.0 * 1000.0);

    // Decrease the velocity of the Rectangle's rotation rate by 
    // 2 rotations per second every second.
    // (2 * 360 degrees / (1000ms^2)
    e.RotationBehavior.DesiredDeceleration = 720 / (1000.0 * 1000.0);

    e.Handled = true;
}
Private Sub Window_InertiaStarting(ByVal sender As Object,
                                   ByVal e As ManipulationInertiaStartingEventArgs)

    ' Decrease the velocity of the Rectangle's movement by 
    ' 10 inches per second every second.
    ' (10 inches * 96 pixels per inch / 1000ms^2)
    e.TranslationBehavior.DesiredDeceleration = 10.0 * 96.0 / (1000.0 * 1000.0)

    ' Decrease the velocity of the Rectangle's resizing by 
    ' 0.1 inches per second every second.
    ' (0.1 inches * 96 pixels per inch / (1000ms^2)
    e.ExpansionBehavior.DesiredDeceleration = 0.1 * 96 / (1000.0 * 1000.0)

    ' Decrease the velocity of the Rectangle's rotation rate by 
    ' 2 rotations per second every second.
    ' (2 * 360 degrees / (1000ms^2)
    e.RotationBehavior.DesiredDeceleration = 720 / (1000.0 * 1000.0)

    e.Handled = True
End Sub

Remarks

The InertiaExpansionBehavior class specifies how a expansion manipulation behaves when it is inertia. Use the ExpansionBehavior property in the ManipulationInertiaStarting event to do the following:

  • Specify the initial velocity of the inertia when it begins by setting the InitialVelocity property.

  • Specify the desired expansion of the manipulation when inertia ends by setting the DesiredExpansion property.

  • Specify the desired deceleration of the inertia by setting the DesiredDeceleration property.

Set either the DesiredExpansion or the DesiredDeceleration, but not both. When you set one of these properties, the other property is changed to Double.NaN if it has a value.

For more information about manipulations, see the Input Overview. For an example of an application that responds to manipulations, see Walkthrough: Creating Your First Touch Application.

Constructors

InertiaExpansionBehavior()

Initializes a new instance of the InertiaExpansionBehavior class.

Properties

DesiredDeceleration

Gets or sets the rate that resizing slows in device-independent units (1/96th inch per unit) per square milliseconds.

DesiredExpansion

Gets or sets the amount the element resizes at the end of inertia.

InitialRadius

Gets or sets the initial average radius.

InitialVelocity

Gets or sets the initial rate the element resizes at the start of inertia.

Methods

Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetType()

Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
ToString()

Returns a string that represents the current object.

(Inherited from Object)

Applies to