DragDrop.Drop DragDrop.Drop DragDrop.Drop Attached Event

Definición

Se produce cuando un objeto se coloca dentro de los límites de un elemento que actúa como un destino para colocar.Occurs when an object is dropped within the bounds of an element that is acting as a drop target.

see AddDropHandler, and RemoveDropHandler
see AddDropHandler, and RemoveDropHandler
see AddDropHandler, and RemoveDropHandler

Ejemplos

El ejemplo siguiente muestra el controlador de eventos Drop para un elemento Ellipse.The following example shows the Drop event handler for an Ellipse element. Este código aplica los efectos de la operación de arrastrar y colocar.This code applies the effects of the drag-and-drop operation. Comprueba si el DataObject que se está arrastrando sobre la elipse contiene datos de cadena que se pueden convertir en un Brush.It checks to see if the DataObject being dragged over the ellipse contains string data that can be converted to a Brush. Si es así, el Brush se aplica a la elipse.If so, the Brush is applied to the ellipse. Si los datos no se pueden convertir en un Brush, no se lleva a cabo ninguna acción.If the data cannot be converted to a Brush, no action is performed.

private void ellipse_Drop(object sender, DragEventArgs e)
{
    Ellipse ellipse = sender as Ellipse;
    if (ellipse != null)
    {
        // If the DataObject contains string data, extract it.
        if (e.Data.GetDataPresent(DataFormats.StringFormat))
        {
            string dataString = (string)e.Data.GetData(DataFormats.StringFormat);

            // If the string can be converted into a Brush, 
            // convert it and apply it to the ellipse.
            BrushConverter converter = new BrushConverter();
            if (converter.IsValid(dataString))
            {
                Brush newFill = (Brush)converter.ConvertFromString(dataString);
                ellipse.Fill = newFill;
            }
        }
    }
}
Private Sub Ellipse_Drop(ByVal sender As System.Object, ByVal e As System.Windows.DragEventArgs)
    Dim ellipse = TryCast(sender, Ellipse)
    If ellipse IsNot Nothing Then

        ' If the DataObject contains string data, extract it.
        If e.Data.GetDataPresent(DataFormats.StringFormat) Then
            Dim dataString = e.Data.GetData(DataFormats.StringFormat)

            ' If the string can be converted into a Brush, convert it.
            Dim converter As New BrushConverter()
            If converter.IsValid(dataString) Then
                Dim newFill As Brush = CType(converter.ConvertFromString(dataString), Brush)
                ellipse.Fill = newFill
            End If
        End If
    End If
End Sub

Comentarios

El evento Drop se genera una vez cuando se coloca un objeto dentro de los límites de un elemento que actúa como destino de colocación.The Drop event is raised once when an object is dropped within the bounds of an element that is acting as a drop target. Este evento no se desencadena si la propiedad AllowDrop del elemento es false.This event is not raised if the element's AllowDrop property is false. Este evento finaliza la operación de arrastrar y colocar.This event ends the drag-and-drop operation.

En el controlador de eventos Drop, extraerá los datos transferidos del DataObject y realizará cualquier procesamiento de los datos que requiera la aplicación.In the Drop event handler, you extract the transferred data from the DataObject and perform any processing of the data that your application requires. Para notificar al origen de arrastre el efecto de la colocación, como una copia o movimiento, establezca la propiedad DragEventArgs.Effects en el controlador de eventos Drop.To notify the drag source of the effect of the drop, such as a copy or move, set the DragEventArgs.Effects property in the Drop event handler. El valor de esta propiedad es el valor devuelto del método DoDragDrop que inició la operación de arrastrar y colocar.The value of this property is the return value of the DoDragDrop method that initiated the drag-and-drop operation. Si el valor devuelto no coincide con uno de los allowedEffects especificados en la llamada a DoDragDrop, no se realiza la operación de arrastrar y colocar.If the value that is returned does not match one of the allowedEffects specified in the call to DoDragDrop, the drag-and-drop operation is not performed. El valor inicial de la propiedad DragEventArgs.Effects es el mismo que el allowedEffects especificado en la llamada al método DoDragDrop.The initial value of the DragEventArgs.Effects property is the same as the allowedEffects specified in the call to the DoDragDrop method. Si no establece la propiedad DragEventArgs.Effects, se devuelve este valor inicial y se supone que se ha producido el allowedEffects.If you do not set the DragEventArgs.Effects property, this initial value is returned and it is assumed that one the allowedEffects occurred.

Información sobre eventos enrutadosRouted Event Information

Campo de identificadorIdentifier field DropEvent
Estrategia de enrutamientoRouting strategy PropagaciónBubbling
delegadoDelegate DragEventHandler

El evento de tunelización correspondiente es PreviewDrop.The corresponding tunneling event is PreviewDrop.

Se aplica a

Consulte también: