DragDrop.DragOver DragDrop.DragOver DragDrop.DragOver Attached Event

Definición

Se produce continuamente mientras se arrastra un objeto dentro de los límites de un elemento que actúa como un destino para colocar.Occurs continuously while an object is dragged within the bounds of an element that is acting as a drop target.

see AddDragOverHandler, and RemoveDragOverHandler
see AddDragOverHandler, and RemoveDragOverHandler
see AddDragOverHandler, and RemoveDragOverHandler

Ejemplos

El ejemplo siguiente muestra el controlador de eventos DragOver para un elemento Ellipse.The following example shows the DragOver event handler for an Ellipse element. Este código comprueba si el DataObject que se está arrastrando sobre la elipse contiene datos de cadena que se pueden convertir en un Brush.This code checks to see if the DataObject being dragged over the ellipse contains string data that can be converted to a Brush. Si es así, establece la propiedad DragEventArgs.Effects en Copy.If so, it sets the DragEventArgs.Effects property to Copy. Esto indica al origen de arrastre que los datos se pueden copiar a la elipse.This indicates to the drag source that the data can be copied to the ellipse. Si los datos no se pueden convertir en un Brush, la propiedad DragEventArgs.Effects se establece en None.If the data cannot be converted to a Brush, the DragEventArgs.Effects property is set to None. Esto indica al origen de arrastre que la elipse no es un destino para colocar válido para los datos.This indicates to the drag source that the ellipse is not a valid drop target for the data.

private void ellipse_DragOver(object sender, DragEventArgs e)
{
    e.Effects = DragDropEffects.None;

    // 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, allow copying.
        BrushConverter converter = new BrushConverter();
        if (converter.IsValid(dataString))
        {
            e.Effects = DragDropEffects.Copy | DragDropEffects.Move;
        }
    }
}
Private Sub Ellipse_DragOver(ByVal sender As System.Object, ByVal e As System.Windows.DragEventArgs)
    e.Effects = DragDropEffects.None

    ' 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
            e.Effects = DragDropEffects.Copy Or DragDropEffects.Move
        End If
    End If
End Sub

Comentarios

Este evento se produce continuamente mientras un objeto arrastrado está dentro de los límites de un elemento que actúa como un destino de colocación.This event is raised continuously while a dragged object is within the bounds of an element that is acting as a drop target. Este evento no se produce si el elemento AllowDrop propiedad es false.This event is not raised if the element's AllowDrop property is false.

El DragOver evento se empareja con el GiveFeedback eventos en el origen de arrastre.The DragOver event is paired with the GiveFeedback event on the drag source. En el DragOver controlador de eventos, se suele comprobar que los datos transferidos están en un formato que puede procesar el destino de colocación.In the DragOver event handler, you typically check that the transferred data is in a format that the drop target can process. También puede comprobar si se presionan las teclas modificadoras, normalmente, lo que indica si el usuario pretende realizar un movimiento o una acción de copia.You can also check whether any modifier keys are pressed, which typically indicates whether the user intends a move or a copy action. Una vez realizadas estas comprobaciones, se establece la propiedad DragEventArgs.Effects para que notifique al origen de arrastre qué efectos tendrá la colocación de los datos.After these checks are performed, you set the DragEventArgs.Effects property to notify the drag source what effect dropping the data will have. El origen de arrastre recibe esta información en el Effects propiedad de la GiveFeedback argumentos de evento y puede establecer un cursor apropiado para proporcionar comentarios al usuario.The drag source receives this information in the Effects property of the GiveFeedback event arguments, and can set an appropriate cursor to give feedback to the user.

Información sobre eventos enrutadosRouted Event Information

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

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

Se aplica a

Consulte también: