DragDrop.DoDragDrop(DependencyObject, Object, DragDropEffects) Method

Definition

Inicia uma operação do tipo "arrastar e soltar".Initiates a drag-and-drop operation.

public:
 static System::Windows::DragDropEffects DoDragDrop(System::Windows::DependencyObject ^ dragSource, System::Object ^ data, System::Windows::DragDropEffects allowedEffects);
public static System.Windows.DragDropEffects DoDragDrop (System.Windows.DependencyObject dragSource, object data, System.Windows.DragDropEffects allowedEffects);
[System.Security.SecurityCritical]
public static System.Windows.DragDropEffects DoDragDrop (System.Windows.DependencyObject dragSource, object data, System.Windows.DragDropEffects allowedEffects);
static member DoDragDrop : System.Windows.DependencyObject * obj * System.Windows.DragDropEffects -> System.Windows.DragDropEffects
Public Shared Function DoDragDrop (dragSource As DependencyObject, data As Object, allowedEffects As DragDropEffects) As DragDropEffects

Parameters

dragSource
DependencyObject

Uma referência para o objeto de dependência que é a origem dos dados sendo arrastados.A reference to the dependency object that is the source of the data being dragged.

data
Object

Um objeto de dados que contém os dados sendo arrastados.A data object that contains the data being dragged.

allowedEffects
DragDropEffects

Um dos valores DragDropEffects que especificam os efeitos permitidos da operação do tipo "arrastar e soltar".One of the DragDropEffects values that specifies permitted effects of the drag-and-drop operation.

Returns

DragDropEffects

Um dos valores DragDropEffects que especificam o efeito final que foi executado durante a operação do tipo "arrastar e soltar".One of the DragDropEffects values that specifies the final effect that was performed during the drag-and-drop operation.

Attributes

Exceptions

dragSource ou data é null.dragSource or data is null.

Examples

O exemplo a seguir mostra como iniciar uma operação de arrastar e soltar do manipulador de eventos MouseMove de um elemento Ellipse para torná-lo uma fonte de arrastar.The following example shows how to initiate a drag-and-drop operation from the MouseMove event handler of an Ellipse element to make it a drag source. Os dados transferidos são a representação da cadeia de caracteres da propriedade Fill da elipse.The transferred data is the string representation of the ellipse's Fill property. Os dados são passados para o método de DoDragDrop como uma cadeia de caracteres e são automaticamente encapsulados em um DataObject.The data is passed to the DoDragDrop method as a string and is automatically wrapped in a DataObject.

private void ellipse_MouseMove(object sender, MouseEventArgs e)
{
    Ellipse ellipse = sender as Ellipse;
    if (ellipse != null && e.LeftButton == MouseButtonState.Pressed)
    {
        DragDrop.DoDragDrop( ellipse,
                             ellipse.Fill.ToString(),
                             DragDropEffects.Copy);
    }
}
Private Sub Ellipse_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Input.MouseEventArgs)
    Dim ellipse = TryCast(sender, Ellipse)
    If ellipse IsNot Nothing AndAlso e.LeftButton = MouseButtonState.Pressed Then
        DragDrop.DoDragDrop(ellipse, ellipse.Fill.ToString(), DragDropEffects.Copy)
    End If
End Sub

Remarks

É responsabilidade do seu aplicativo determinar quando um arrasto ocorre e, em seguida, iniciar a operação de arrastar e soltar.It is the responsibility of your application to determine when a drag occurs, and then initiate the drag-and-drop operation. Normalmente, é quando um MouseDown e MouseMove sequência de eventos ocorre sobre o elemento a ser arrastado.Typically, this is when a MouseDown and MouseMove sequence of events occurs over the element to be dragged. Você inicia a operação de arrastar e soltar chamando o método estático DoDragDrop e passando os dados transferidos para ele.You initiate the drag-and-drop operation by calling the static DoDragDrop method and passing the transferred data to it. O método DoDragDrop encapsulará automaticamente os dados em uma DataObject, se necessário.The DoDragDrop method will automatically wrap the data in a DataObject if necessary. Para obter mais controle sobre o formato de dados, você pode encapsular os dados em um DataObject antes de passá-los para o método DoDragDrop.For greater control over the data format, you can wrap the data in a DataObject before passing it to the DoDragDrop method.

O valor retornado do método DoDragDrop é o valor da propriedade DragEventArgs.Effects definida no manipulador de eventos Drop de destino.The value returned from the DoDragDrop method is the value of the DragEventArgs.Effects property set in the drop target's Drop event handler. Se o valor de retorno não corresponder a um dos allowedEffects especificados na chamada para DoDragDrop, a operação de arrastar e soltar não será executada.If the return value does not match one of the allowedEffects specified in the call to DoDragDrop, the drag-and-drop operation is not performed.

Applies to