DragDrop.DragEnter Angefügtes Ereignis

Definition

Tritt auf, wenn ein Objekt in die Begrenzungen eines Elements gezogen wird, das als Drop-Ziel fungiert.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

Beispiele

Das folgende Beispiel zeigt den DragEnter-Ereignishandler für ein Ellipse-Element.The following example shows the DragEnter event handler for an Ellipse element. Dieser Code bewirkt eine Vorschau der Auswirkungen des Drag & Drop-Vorgangs durch Speichern des aktuellen Fill-Pinsels.This code previews the effects of the drag-and-drop operation by saving the current Fill brush. Anschließend wird überprüft, ob die DataObject, die über die Ellipse gezogen wird, Zeichen folgen Daten enthält, die in einen Brush konvertiert werden können.It then checks to see if the DataObject being dragged over the ellipse contains string data that can be converted to a Brush. In diesem Fall wird der Brush auf die Ellipse angewendet.If so, the Brush is applied to the ellipse. Die Änderung wird im DragLeave-Ereignishandler rückgängig gemacht.The change is reverted in the DragLeave event handler. Wenn die Daten nicht in einen Brush konvertiert werden können, wird keine Aktion ausgeführt.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

Hinweise

Dieses Ereignis wird jedes Mal ausgelöst, wenn ein Objekt in die Begrenzungen eines Elements gezogen wird, das als Ablage Ziel fungiert.This event is raised once each time an object is dragged into the bounds of an element that is acting as a drop target. Dieses Ereignis wird nicht ausgelöst, wenn die AllowDrop-Eigenschaft des Elements false ist.This event is not raised if the element's AllowDrop property is false.

Die Behandlung dieses Ereignisses ist für das Ablage Ziel optional und nicht für alle Drag & Drop-Szenarien erforderlich.Handling this event is optional for the drop target, and is not necessary for all drag-and-drop scenarios. Normalerweise verarbeiten Sie dieses Ereignis, um eine Vorschau der Auswirkungen des Drag & Drop-Vorgangs bereitzustellen, wenn das in Ihrer Anwendung sinnvoll ist.You typically handle this event to provide a preview of the effects of the drag-and-drop operation, if appropriate for your application. Legen Sie nicht die DragEventArgs.Effects-Eigenschaft im Ereignis DragEnter fest, da sie im DragOver-Ereignis überschrieben wird.Do not set the DragEventArgs.Effects property in the DragEnter event, as it will be overwritten in the DragOver event.

Informationen zum RoutingereignisRouted Event Information

BezeichnerfeldIdentifier field DragEnterEvent
Routing StrategieRouting strategy BlasenBubbling
delegateDelegate DragEventHandler

Das entsprechende tunnelingereignis ist PreviewDragEnter.The corresponding tunneling event is PreviewDragEnter.

Gilt für:

Siehe auch