Freigeben über


DragDrop.Drop Angefügtes Ereignis

Definition

Tritt auf, wenn ein Objekt innerhalb der Grenzen eines Elements abgelegt wird, das als Dropziel 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. Es überprüft, ob die DataObject über die Ellipse gezogene Ellipse Zeichenfolgendaten enthält, die in ein Brush. Wenn ja, wird dies Brush auf die Auslassungspunkte angewendet. Wenn die Daten nicht in eine BrushKonvertiert 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 Dropziel fungiert. Dieses Ereignis wird nicht ausgelöst, wenn die Eigenschaft des AllowDrop Elements lautet false. Dieses Ereignis beendet den Drag-and-Drop-Vorgang.

Drop Im Ereignishandler extrahieren Sie die übertragenen Daten aus den DataObject übertragenen Daten und führen jede Verarbeitung der daten aus, die Ihre Anwendung benötigt. Wenn Sie die Ziehquelle über den Effekt des Ablegens benachrichtigen möchten, z. B. eine Kopie oder eine Verschiebung, legen Sie die DragEventArgs.Effects Eigenschaft im Drop Ereignishandler fest. Der Wert dieser Eigenschaft ist der Rückgabewert der DoDragDrop Methode, die den Drag-and-Drop-Vorgang initiiert hat. Wenn der zurückgegebene Wert nicht mit einem der allowedEffects im Aufruf DoDragDropangegebenen Werte ü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 ein allowedEffects Wert aufgetreten ist.

Routingereignisinformationen

Element Wert
Bezeichnerfeld DropEvent
Routingstrategie Bubbling
Delegierter DragEventHandler

Das entsprechende Tunneling-Ereignis ist PreviewDrop.

Gilt für:

Weitere Informationen