Teilen über


DragDrop.DragOver Angefügtes Ereignis

Definition

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.

Gilt für:

Weitere Informationen