This documentation is archived and is not being maintained.

DragDrop.DoDragDrop Method

Initiates a drag-and-drop operation.

Namespace:  System.Windows
Assembly:  PresentationCore (in PresentationCore.dll)

public static DragDropEffects DoDragDrop(
	DependencyObject dragSource,
	Object data,
	DragDropEffects allowedEffects
You cannot use methods in XAML.


Type: System.Windows.DependencyObject

A reference to the dependency object that is the source of the data being dragged.

Type: System.Object

A data object that contains the data being dragged.

Type: System.Windows.DragDropEffects

One of the DragDropEffects values that specifies permitted effects of the drag-and-drop operation.

Return Value

Type: System.Windows.DragDropEffects
One of the DragDropEffects values that specifies the final effect that was performed during the drag-and-drop operation.


dragSource or data is null.

The following example demonstrates how to use the DoDragDrop method.

Private Sub DragStarted()
    m_IsDown = False 

    Dim serializedObject As String = m_OriginalElement.OuterXml
    Dim data As DataObject = New DataObject()
    data.SetData(m_MyFormat.Name, serializedObject)
    Dim effects As DragDropEffects = _
        DragDrop.DoDragDrop(MyCanvas, data, DragDropEffects.Copy Or DragDropEffects.Move)
    If effects And DragDropEffects.Move Then 
        ' Remove the element.
        m_OriginalElement = Nothing 
    End If 
End Sub

Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0