Freigeben über


DragDrop.Drop Angefügtes Ereignis

Definition

Tritt auf, wenn ein Objekt in den Begrenzungen eines Elements abgelegt wird, das als Drop-Ziel fungiert.

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

Beispiele

Das folgende Beispiel zeigt den Drop-Ereignishandler für ein Ellipse-Element. Dieser Code wendet die Auswirkungen des Drag-and-Drop-Vorgangs an. Er überprüft, ob das DataObject, das über die Ellipse gezogen wird, Zeichenfolgendaten enthält, die in einen Brush konvertiert werden können. In diesem Fall wird der Brush auf die Ellipse angewendet. Wenn die Daten nicht in einen Brush konvertiert werden können, wird keine Aktion ausgeführt.

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

Hinweise

Das Drop Ereignis wird einmal ausgelöst, wenn ein Objekt innerhalb der Grenzen eines Elements abgelegt wird, das als Ablageziel fungiert. Dieses Ereignis wird nicht ausgelöst, wenn die -Eigenschaft des AllowDrop Elements ist false. Mit diesem Ereignis wird der Drag-and-Drop-Vorgang beendet.

Drop Im Ereignishandler extrahieren Sie die übertragenen Daten aus der DataObject und führen eine verarbeitung der Daten durch, die für Ihre Anwendung erforderlich sind. Legen Sie die -Eigenschaft im Drop Ereignishandler festDragEventArgs.Effects, um die Ziehquelle über die Auswirkungen des Ablegens zu benachrichtigen, z. B. ein Kopieren oder Verschieben. Der Wert dieser Eigenschaft ist der Rückgabewert der Methode, die DoDragDrop den Drag-and-Drop-Vorgang initiiert hat. Wenn der zurückgegebene Wert nicht mit einem der allowedEffects im Aufruf DoDragDropvon angegebenen übereinstimmt, wird der Drag-and-Drop-Vorgang nicht ausgeführt. Der Anfangswert der DragEventArgs.Effects -Eigenschaft ist identisch mit dem allowedEffects im Aufruf der DoDragDrop -Methode angegebenen. Wenn Sie die DragEventArgs.Effects -Eigenschaft nicht festlegen, wird dieser Anfangswert zurückgegeben, und es wird davon ausgegangen, dass einer der allowedEffects aufgetreten ist.

Informationen zum Routingereignis

Bezeichnerfeld DropEvent
Routingstrategie Bubbling
Delegat DragEventHandler

Das entsprechende Tunnelereignis ist PreviewDrop.

Gilt für:

Weitere Informationen