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 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.