UIElement.DragEnter Event


Occurs when the input system reports an underlying drag event with this element as the target.

 virtual event DragEventHandler ^ DragEnter;
// Register
event_token DragEnter(DragEventHandler const& handler) const;

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

// Revoke with event_revoker
UIElement::DragEnter_revoker DragEnter(auto_revoke_t, DragEventHandler const& handler) const;
public event DragEventHandler DragEnter;
function onDragEnter(eventArgs) { /* Your code */ }
uIElement.addEventListener("dragenter", onDragEnter);
uIElement.removeEventListener("dragenter", onDragEnter);
- or -
uIElement.ondragenter = onDragEnter;
Public Custom Event DragEnter As DragEventHandler 
<uiElement DragEnter="eventhandler"/>

Event Type



For a DragEnter event to occur, the value of AllowDrop on the current UIElement and on the event source must be true. Otherwise, consider using PointerEntered.

You can initiate a drag-drop action on any UIElement by calling the StartDragAsync method. Once the action is initiated, any UIElement in the app can potentially be a drop target so long as AllowDrop is true on that element. Any elements that the drag-drop action passes over can handle DragEnter, DragLeave or DragOver.

DragEnter is a routed event. For more info on the routed event concept, see Events and routed events overview.

For touch actions, drag-drop 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 example IsEnabled. For more info, see Events and routed events overview.

DragEnter 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.

Specific Windows Runtime controls may have class-based handling for the DragEnter event. If so, the control probably has an override for the method OnDragEnter. Typically the event is marked handled by the class handler, and the DragEnter event is not raised for handling by any user code handlers on that control. For more info, see Events and routed events overview.

Independent of the event occurrence, some controls may use theme animations such as DragItemThemeAnimation to visually indicate a drag behavior to the user.

Windows 8/Windows 8.1 Prior to Windows 10, the Windows Runtime implementation of drag-drop concepts permits only certain controls and input actions to initiate a drag-drop action. There is no StartDragAsync or generalized DoDragDrop method that would permit any UI element to initiate a drag-drop action. The main source of a drag-drop action in an app is when you drag the items of a list such as GridView.

Applies to

See also