DragDrop.Drop Angefügtes Ereignis
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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.