DragDrop.DragOver 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 fortlaufend auf, während ein Objekt innerhalb der Grenzen eines Elements gezogen wird, das als Ablageziel fungiert.
see AddDragOverHandler, and RemoveDragOverHandler
see AddDragOverHandler, and RemoveDragOverHandler
see AddDragOverHandler, and RemoveDragOverHandler
Beispiele
Das folgende Beispiel zeigt den DragOver-Ereignishandler für ein Ellipse-Element. Dieser Code überprüft, ob das über die Ellipse gezogene DataObject Zeichenfolgendaten enthält, die in einen Brush konvertiert werden können. In diesem Fall legt er die DragEventArgs.Effects-Eigenschaft als Copy fest. Dies zeigt der Ziehquelle an, dass die Daten zur Ellipse kopiert werden können. Wenn die Daten nicht in einen Brush konvertiert werden können, wird die Eigenschaft DragEventArgs.Effects auf None festgelegt. Dieses zeigt der Datenquelle an, dass die Ellipse kein gültiges Ablageziel für die Daten darstellt.
private void ellipse_DragOver(object sender, DragEventArgs e)
{
e.Effects = DragDropEffects.None;
// 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, allow copying.
BrushConverter converter = new BrushConverter();
if (converter.IsValid(dataString))
{
e.Effects = DragDropEffects.Copy | DragDropEffects.Move;
}
}
}
Private Sub Ellipse_DragOver(ByVal sender As System.Object, ByVal e As System.Windows.DragEventArgs)
e.Effects = DragDropEffects.None
' 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
e.Effects = DragDropEffects.Copy Or DragDropEffects.Move
End If
End If
End Sub
Hinweise
Dieses Ereignis wird kontinuierlich ausgelöst, während sich ein gezogenes Objekt innerhalb der Grenzen eines Elements befindet, das als Ablageziel fungiert. Dieses Ereignis wird nicht ausgelöst, wenn die -Eigenschaft des AllowDrop Elements ist false
.
Das DragOver Ereignis wird mit dem GiveFeedback Ereignis in der Ziehquelle gekoppelt. Im Ereignishandler überprüfen Sie in der DragOver Regel, ob die übertragenen Daten in einem Format vorliegen, das vom Ablageziel verarbeitet werden kann. Sie können auch überprüfen, ob Modifizierertasten gedrückt werden, was in der Regel angibt, ob der Benutzer eine Verschiebung oder eine Kopieraktion beabsichtigt. Nachdem diese Prüfungen vorgenommen wurden, legen Sie die DragEventArgs.Effects-Eigenschaft fest, um die Ziehquelle zu benachrichtigen, welche Auswirkungen das Ablegen der Daten hat. Die Ziehquelle empfängt diese Informationen in der Effects -Eigenschaft der GiveFeedback Ereignisargumente und kann einen geeigneten Cursor festlegen, um dem Benutzer Feedback zu geben.
Informationen zum Routingereignis
Bezeichnerfeld | DragOverEvent |
Routingstrategie | Bubbling |
Delegat | DragEventHandler |
Das entsprechende Tunnelereignis ist PreviewDragOver.