DragDrop.DragEnter DragDrop.DragEnter DragDrop.DragEnter Attached Event

Definizione

Si verifica quando un oggetto viene trascinato entro i limiti di un elemento che funge da destinazione del rilascio.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

Esempi

Il seguente esempio mostra il gestore dell'evento DragEnter per un elemento Ellipse.The following example shows the DragEnter event handler for an Ellipse element. Questo codice visualizza in anteprima gli effetti dell'operazione di trascinamento della selezione salvando il pennello Fill corrente.This code previews the effects of the drag-and-drop operation by saving the current Fill brush. Verifica quindi se il DataObject trascinato sull'ellisse contiene dati di stringa che possono essere convertiti in 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. In tal caso, Brush viene applicato all'ellisse.If so, the Brush is applied to the ellipse. La modifica viene ripristinata nel gestore dell'evento DragLeave.The change is reverted in the DragLeave event handler. Se i dati non possono essere convertiti in un Brush, non viene eseguita alcuna azione.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

Commenti

Questo evento viene generato una volta ogni volta che un oggetto viene trascinato nei limiti di un elemento che funge da obiettivo di rilascio.This event is raised once each time an object is dragged into the bounds of an element that is acting as a drop target. Questo evento non viene generato se la proprietà AllowDrop dell'elemento è false.This event is not raised if the element's AllowDrop property is false.

La gestione di questo evento è facoltativa per l'obiettivo di rilascio e non è necessaria per tutti gli scenari di trascinamento della selezione.Handling this event is optional for the drop target, and is not necessary for all drag-and-drop scenarios. In genere si gestisce questo evento per fornire un'anteprima degli effetti dell'operazione di trascinamento e rilascio, se appropriato per l'applicazione.You typically handle this event to provide a preview of the effects of the drag-and-drop operation, if appropriate for your application. Non impostare la proprietà DragEventArgs.Effects nell'evento DragEnter, perché verrà sovrascritta nell'evento DragOver.Do not set the DragEventArgs.Effects property in the DragEnter event, as it will be overwritten in the DragOver event.

Informazioni evento indirizzatoRouted Event Information

Campo identificatoreIdentifier field DragEnterEvent
Strategia di routingRouting strategy BubblingBubbling
delegatoDelegate DragEventHandler

L'evento di tunneling corrispondente è PreviewDragEnter.The corresponding tunneling event is PreviewDragEnter.

Si applica a

Vedi anche