IDragProvider IDragProvider IDragProvider IDragProvider Interface


Enables a Microsoft UI Automation element to describe itself as an element that can be dragged as part of a drag-and-drop operation. Implement this interface in order to support the capabilities that an automation client requests with a GetPattern call and PatternInterface.Drag.

public : interface IDragProvider
struct winrt::Windows::UI::Xaml::Automation::Provider::IDragProvider
public interface IDragProvider
Public Interface IDragProvider

Windows 10 requirements

Device family
Windows 10 (introduced v10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduced v1)


The Drag control pattern is used to support draggable controls, or controls with draggable items. For more info on what this pattern is for, see Drag Control Pattern.

IDragProvider is implemented by the existing Windows Runtime automation peers for a ListView item (ListViewItemAutomationPeer ) or GridView item (GridViewItemAutomationPeer ). This supports the Windows Runtime scenario of dragging list items so that they can be reordered. The peer for the host view of the items (ListViewAutomationPeer or GridViewAutomationPeer ) support the IDropTargetProvider pattern.

Use DragPatternIdentifiers if you want to reference the IDragProvider pattern properties from control code when you fire automation events or call RaisePropertyChangedEvent.


DropEffect DropEffect DropEffect DropEffect

Gets a string that indicates what will happen when the item is dropped.

DropEffects DropEffects DropEffects DropEffects

Gets an array of strings that enumerates possible drop effects when this item is dropped.

IsGrabbed IsGrabbed IsGrabbed IsGrabbed

Gets a value indicating whether an item is currently being dragged.


GetGrabbedItems() GetGrabbedItems() GetGrabbedItems() GetGrabbedItems()

Gets an array of UI Automation elements that are being dragged as part of this drag operation.

See also