UIElement.ManipulationMode Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets or sets the ManipulationModes value used for UIElement behavior and interaction with gestures. Setting this value enables handling the manipulation events from this element in app code.
public:
property ManipulationModes ManipulationMode { ManipulationModes get(); void set(ManipulationModes value); };
ManipulationModes ManipulationMode();
void ManipulationMode(ManipulationModes value);
public ManipulationModes ManipulationMode { get; set; }
var manipulationModes = uIElement.manipulationMode;
uIElement.manipulationMode = manipulationModes;
Public Property ManipulationMode As ManipulationModes
<uiElement ManipulationMode="All"/>
-or-
<uiElement ManipulationMode="None"/>
-or-
<uiElement ManipulationMode="singleManipulationModesMemberName"/>
-or-
<uiElement ManipulationMode="relatedManipulationModesNames"/>
Property Value
A value or values of the enumeration. The default is typically System, but this can vary on specific controls and elements. See Remarks.
Remarks
You must set the ManipulationMode
to a value other than System
or None
if you want to handle manipulation events such as ManipulationStarted from UI elements in your app code. For more info on manipulations, see Handle pointer input.
The typical default value of ManipulationMode
is System
rather than None
. When the value is System
, manipulations that originate from the element can be handled by the Windows Runtime infrastructure, which is based on the Direct Manipulation API. For example, ScrollViewer handles user manipulations in its control logic and processes them as scrolling actions for the control. The System
value also enables personality animations that respond to manipulation events.
Slider and ToggleSwitch have default templates that set the ManipulationMode value to None
, so None
will be the default value you see at design time.
Specifying related manipulation modes
You can specify more than one of the flagwise ManipulationModes values as the value of the ManipulationMode
property. This is possible in XAML using the comma syntax shown in the "XAML Values" section. For example, you can combine TranslateX
, TranslateY
, Rotate
, and Scale
, or any combination of these. However, not all combinations are valid. Validity is enforced only once ManipulationModes
is used by a specific control, so issues with setting an invalid combination of ManipulationModes
might not appear until run-time when values are applied.
- Don't combine Translate* values with TranslateRails* values, these are treated as mutually exclusive values.
- Don't combine the inertial values with the non-inertial values.
- The All value isn't the true additive value of all the flags (if values are compared bitwise). A value of All doesn't necessarily indicate that the combination of all the values is valid either, or that any specific value is set.