Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
ManipulationProcessor2D Class

ManipulationProcessor2D Class

.NET Framework 4.6 and 4.5

Implements a multiple-input, single-output compositor for two-dimensional (2-D) transformations in a shared coordinate space.


Namespace:  System.Windows.Input.Manipulations
Assembly:  System.Windows.Input.Manipulations (in System.Windows.Input.Manipulations.dll)

public class ManipulationProcessor2D

The ManipulationProcessor2D type exposes the following members.

Public methodManipulationProcessor2D(Manipulations2D)Creates a new ManipulationProcessor2D object.
Public methodManipulationProcessor2D(Manipulations2D, ManipulationPivot2D)Creates a new ManipulationProcessor2D object.

Public propertyMinimumScaleRotateRadiusGets or sets the minimum radius, in coordinate units, necessary for a manipulator to participate in scaling and rotation.
Public propertyPivotGets or sets the pivot information for the manipulation processor.
Public propertySupportedManipulationsGets or sets the current set of supported manipulations.

Public methodCompleteManipulationForces the current manipulation to complete and raises the Completed event.
Public methodEquals(Object)Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public methodGetHashCodeServes as the default hash function. (Inherited from Object.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Public methodProcessManipulatorsProcesses the specified manipulators as a single batch action.
Public methodSetParametersSets parameters on the manipulation processor.
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)

Public eventCompletedOccurs when a manipulation has competed.
Public eventDeltaOccurs when the manipulation origin has changed or when translation, scaling, or rotation have occurred.
Public eventStartedOccurs when a new manipulation has started.

A ManipulationProcessor2D object treats a collection of manipulators as a composite object. Your application is then freed from the necessity of tracking and managing individual manipulators.

A manipulation processor by itself does not cause an element to move. Your application begins a manipulation as necessary, and then receives information from a manipulation processor by listening to the Started, Delta and Completed events. The values received via these events enable you to change the location, size or orientation of an element as needed.

You inform a manipulation processor which types of manipulations are allowed (translate, scale, rotate) by setting the SupportedManipulations property. You can then provide non-conditional logic to the transformation of the element that is being manipulated. For instance, instead of checking if rotation is enabled before changing the orientation of an element, you can unconditionally apply the rotation factor received from the manipulation processor; if rotation is not enabled, the manipulation processor will report that no rotational change has occurred.

When an element that is being manipulated is released (all manipulators are removed), you can use inertia processing to simulate friction and cause the element to gradually slow its movements before coming to a stop. For more information see the InertiaProcessor2D class.

.NET Framework

Supported in: 4.6, 4.5, 4

.NET Framework Client Profile

Supported in: 4

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
© 2015 Microsoft