Share via


DragEventArgs Class

Definition

Provides data for drag-and-drop events.

public ref class DragEventArgs sealed : RoutedEventArgs
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class DragEventArgs final : RoutedEventArgs
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class DragEventArgs : RoutedEventArgs
Public NotInheritable Class DragEventArgs
Inherits RoutedEventArgs
Inheritance
Object Platform::Object IInspectable RoutedEventArgs DragEventArgs
Attributes

Windows requirements

Device family
Windows 10 (introduced in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduced in v1.0)

Remarks

DragEventArgs is used as event data for these events:

These events are routed events. Changing the value of the Handled property of DragEventArgs from an event handler can influence how a routed event behaves. For more info on the routed event concept, see Events and routed events overview.

The Control class has pre-wired event handlers that Control derived types can override to provide class-based handling for the drag-drop events, and these methods also use DragEventArgs as a parameter. These methods are:

The Windows Runtime implementation of drag-drop concepts permits only certain controls and input actions to initiate a drag-drop action. There is no generalized DoDragDrop method that would permit any UI element to initiate a drag-drop action. The main source of a drag-drop action is when you drag the items of a list such as GridView. For a list item drag-drop action, the Data value in event data can potentially be modified from the control-defined default data about the item. This is done by handling the DragItemsStarting event, and working with the DataPackage object that is obtained from the DragItemsStartingEventArgs.Data property in the event data.

Version history

Windows version SDK version Value added
1607 14393 AllowedOperations

Properties

AcceptedOperation

Gets or sets a value that specifies which operations (none, move, copy, and/or link) can be accepted by the target of the drag event.

AllowedOperations

Gets a value that specifies which operations (none, move, copy, and/or link) are allowed by the source of the drag event.

Data

Gets or sets a data object (DataPackage) that contains the data associated with the corresponding drag event. This value is not useful in all event cases; specifically, the event must be handled by a valid drop target.

DataView

Gets a read-only copy of the Data object.

DragUIOverride

Gets the visual representation of the data being dragged.

Handled

Gets or sets a value that indicates the present state of the event handling for a routed event as it travels the route.

Modifiers

Gets a flag enumeration indicating the current state of the SHIFT, CTRL, and ALT keys, as well as the state of the mouse buttons.

OriginalSource

Gets a reference to the object that raised the event. This is often a template part of a control rather than an element that was declared in your app UI.

(Inherited from RoutedEventArgs)

Methods

GetDeferral()

Supports asynchronous drag-and-drop operations by creating and returning a DragOperationDeferral object.

GetPosition(UIElement)

Returns a drop point that is relative to a specified UIElement.

Applies to

See also