Xaml.ManipulationStarting Xaml.ManipulationStarting Xaml.ManipulationStarting Xaml.ManipulationStarting Event


Occurs when the manipulation processor is first created.

public : 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
ManipulationStarting_revoker ManipulationStarting(auto_revoker_t, ManipulationStartingEventHandler<> const& handler) const;
public event ManipulationStartingEventHandler ManipulationStarting<>
Public Event ManipulationStartingEventHandler ManipulationStarting( Of )
<uiElement ManipulationStarting="eventhandler"/>


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.

See Also