UIElement.ManipulationStarting Event

Definition

Occurs when the manipulation processor is first created.

public:
 virtual event ManipulationStartingEventHandler ^ ManipulationStarting;
// Register
event_token ManipulationStarting(ManipulationStartingEventHandler const& handler) const;

// Revoke with event_token
void ManipulationStarting(event_token const* cookie) const;

// Revoke with event_revoker
UIElement::ManipulationStarting_revoker ManipulationStarting(auto_revoke_t, ManipulationStartingEventHandler const& handler) const;
public event ManipulationStartingEventHandler ManipulationStarting;
function onManipulationStarting(eventArgs) { /* Your code */ }
uIElement.addEventListener("manipulationstarting", onManipulationStarting);
uIElement.removeEventListener("manipulationstarting", onManipulationStarting);
- or -
uIElement.onmanipulationstarting = onManipulationStarting;
Public Custom Event ManipulationStarting As ManipulationStartingEventHandler 
<uiElement ManipulationStarting="eventhandler"/>

Event Type

Remarks

For custom controls and interaction experiences, see GestureRecognizer.

An element must have a ManipulationMode value other than None or System to be a manipulation event source. The default value of ManipulationMode is System, which enables built-in control logic to process manipulations, but doesn't permit app code to handle manipulation events. If you want to handle manipulations, set ManipulationMode to All, or to specific ManipulationModes values. For more info, see ManipulationMode.

ManipulationStarting fires basically any time that a pointer interacts with an element where the element enables manipulation. This includes cases where the manipulation is interpreted as a gesture and the pointers never move, for example a Tapped or Holding gesture. If the pointers do move, ManipulationStarted typically fires thereafter.

ManipulationStarting is a routed event. If the event is permitted to bubble up to parent elements because it goes unhandled, then it is possible to handle the event on parent elements even if ManipulationMode is None or System on the parent element. For more info on the routed event concept, see Events and routed events overview.

For touch actions and also for interaction-specific or manipulation events that are consequences of a touch action, an element must be hit-test visible in order to be the event source and fire the event that is associated with the action. UIElement.Visibility must be Visible. Other properties of derived types also affect hit-test visibility. For more info, see Events and routed events overview.

ManipulationStarting supports the ability to attach event handlers to the route that will be invoked even if the event data for the event is marked Handled. See AddHandler.

Windows 8 behavior

Windows 8 had an issue with firing this event if multiple gestures happened in a short period of time. For example, Windows 8 might only fire ManipulationStarting for the first gesture and not the second. The issue is fixed starting with Windows 8.1; multiple starting gestures processed by the input system each fire a distinct ManipulationStarting event.

Apps that were compiled for Windows 8 but running on Windows 8.1 continue to use the Windows 8 behavior.

Applies to

See also