DragDrop.DragEnter DragDrop.DragEnter DragDrop.DragEnter Attached Event

Definición

Se produce al arrastrar un objeto dentro de los límites de un elemento que actúa como destino de colocación.Occurs when an object is dragged into the bounds of an element that is acting as a drop target.

see AddDragEnterHandler, and RemoveDragEnterHandler
see AddDragEnterHandler, and RemoveDragEnterHandler
see AddDragEnterHandler, and RemoveDragEnterHandler

Ejemplos

El ejemplo siguiente muestra el controlador de eventos DragEnter para un elemento Ellipse.The following example shows the DragEnter event handler for an Ellipse element. Este código muestra una vista previa de los efectos de la operación de arrastrar y colocar guardando el pincel Fill actual.This code previews the effects of the drag-and-drop operation by saving the current Fill brush. A continuación, se comprueba si el DataObject que se está arrastrando sobre la elipse contiene datos de cadena que se pueden convertir en un Brush.It then 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. El cambio se revierte en el controlador de eventos DragLeave.The change is reverted in the DragLeave event handler. 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 Brush _previousFill = null;
private void ellipse_DragEnter(object sender, DragEventArgs e)
{
    Ellipse ellipse = sender as Ellipse;
    if (ellipse != null)
    {
        // Save the current Fill brush so that you can revert back to this value in DragLeave.
        _previousFill = ellipse.Fill;
        
        // 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.
            BrushConverter converter = new BrushConverter();
            if (converter.IsValid(dataString))
            {
                Brush newFill = (Brush)converter.ConvertFromString(dataString);
                ellipse.Fill = newFill;
            }
        }
    }
}
Private _previousFill As Brush = Nothing
Private Sub Ellipse_DragEnter(ByVal sender As System.Object, ByVal e As System.Windows.DragEventArgs)
    Dim ellipse = TryCast(sender, Ellipse)
    If ellipse IsNot Nothing Then
        ' Save the current Fill brush so that you can revert back to this value in DragLeave.
        _previousFill = ellipse.Fill

        ' 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

Este evento se desencadena una vez cada vez que se arrastra un objeto a los límites de un elemento que actúa como un destino de colocación.This event is raised once each time an object is dragged into 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.

Controle este evento es opcional para el destino de colocación y no es necesario para todos los escenarios de arrastrar y colocar.Handling this event is optional for the drop target, and is not necessary for all drag-and-drop scenarios. Normalmente, este evento se controla para que proporcione una vista previa de los efectos de la operación de arrastrar y colocar, si es adecuado para la aplicación.You typically handle this event to provide a preview of the effects of the drag-and-drop operation, if appropriate for your application. No establezca la propiedad DragEventArgs.Effects en el evento DragEnter, ya que se sobrescribirá en el evento DragOver.Do not set the DragEventArgs.Effects property in the DragEnter event, as it will be overwritten in the DragOver event.

Información sobre eventos enrutadosRouted Event Information

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

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

Se aplica a

Consulte también: