DragDrop.DragOver Zdarzenie dołączone

Definicja

Występuje ciągle, gdy obiekt jest przeciągany w granicach elementu, który działa jako element docelowy upuszczania.Occurs continuously while an object is dragged within the bounds of an element that is acting as a drop target.

see AddDragOverHandler, and RemoveDragOverHandler
see AddDragOverHandler, and RemoveDragOverHandler
see AddDragOverHandler, and RemoveDragOverHandler

Przykłady

Poniższy przykład pokazuje procedurę obsługi zdarzeń DragOver dla elementu Ellipse.The following example shows the DragOver event handler for an Ellipse element. Ten kod sprawdza, czy DataObject jest przeciągany przez wielokropek, zawiera dane ciągu, które można przekonwertować na Brush.This code checks to see if the DataObject being dragged over the ellipse contains string data that can be converted to a Brush. Jeśli tak, ustawia właściwość DragEventArgs.Effects na Copy.If so, it sets the DragEventArgs.Effects property to Copy. Wskazuje źródło przeciągania, które można skopiować dane na elipsę.This indicates to the drag source that the data can be copied to the ellipse. Jeśli nie można przekonwertować danych na Brush, właściwość DragEventArgs.Effects ma wartość None.If the data cannot be converted to a Brush, the DragEventArgs.Effects property is set to None. Wskazuje to na źródło przeciągania, którego Elipsa nie jest prawidłowym obiektem docelowym upuszczania dla danych.This indicates to the drag source that the ellipse is not a valid drop target for the data.

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

Uwagi

To zdarzenie jest zgłaszane w sposób ciągły, gdy przeciągany obiekt znajduje się w granicach elementu, który działa jako element docelowy upuszczania.This event is raised continuously while a dragged object is within the bounds of an element that is acting as a drop target. To zdarzenie nie jest wywoływane, jeśli właściwość AllowDrop elementu jest false.This event is not raised if the element's AllowDrop property is false.

Zdarzenie DragOver jest sparowane ze zdarzeniem GiveFeedback w źródle przeciągania.The DragOver event is paired with the GiveFeedback event on the drag source. W obsłudze zdarzeń DragOver zazwyczaj sprawdza się, czy transferowane dane są w formacie, który może przetwarzać element docelowy upuszczania.In the DragOver event handler, you typically check that the transferred data is in a format that the drop target can process. Możesz również sprawdzić, czy zostały naciśnięte jakiekolwiek klawisze modyfikujące, które zwykle wskazują, czy użytkownik zamierza wykonać akcję przenoszenia lub kopiowania.You can also check whether any modifier keys are pressed, which typically indicates whether the user intends a move or a copy action. Po wykonaniu tych testów należy ustawić właściwość DragEventArgs.Effects, aby powiadomić Źródło przeciągania o tym, jaki efekt spowoduje porzucenie danych.After these checks are performed, you set the DragEventArgs.Effects property to notify the drag source what effect dropping the data will have. Źródło przeciągania odbiera te informacje we właściwości Effects argumentów zdarzeń GiveFeedback i może ustawić odpowiedni kursor, aby przekazać użytkownikowi informacje zwrotne.The drag source receives this information in the Effects property of the GiveFeedback event arguments, and can set an appropriate cursor to give feedback to the user.

Informacje dotyczące kierowanego zdarzeniaRouted Event Information

Pole identyfikatoraIdentifier field DragOverEvent
Strategia routinguRouting strategy PropagacjaBubbling
DelegateDelegate DragEventHandler

Odpowiednie zdarzenie tunelowania jest PreviewDragOver.The corresponding tunneling event is PreviewDragOver.

Dotyczy

Zobacz też