Udostępnij za pośrednictwem


DragDrop.DragOver Zdarzenie dołączone

Definicja

Występuje stale, gdy obiekt jest przeciągany w granicach elementu działającego jako cel upuszczania.

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

Przykłady

W poniższym przykładzie przedstawiono procedurę DragOver obsługi zdarzeń Ellipse dla elementu. Ten kod sprawdza, czy DataObject przeciągnięty wielokropek zawiera dane ciągów, które można przekonwertować na Brushelement . Jeśli tak, ustawia DragEventArgs.Effects właściwość na Copy. Wskazuje to na źródło przeciągania, które można skopiować do wielokropka. Jeśli nie można przekonwertować danych na element Brush, właściwość jest ustawiona DragEventArgs.Effects na Nonewartość . Oznacza to źródło przeciągania, że wielokropek nie jest prawidłowym elementem docelowym upuszczania danych.

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 stale wywoływane, gdy przeciągnięty obiekt znajduje się w granicach elementu działającego jako cel upuszczania. To zdarzenie nie jest zgłaszane, jeśli właściwość elementu AllowDrop to false.

Zdarzenie DragOver jest sparowane ze GiveFeedback zdarzeniem w źródle przeciągania. W procedurze obsługi zdarzeń DragOver zwykle sprawdzasz, czy przesyłane dane są w formacie, który może przetworzyć obiekt docelowy. Można również sprawdzić, czy są naciskane jakiekolwiek klawisze modyfikujące, co zwykle wskazuje, czy użytkownik zamierza przenieść, czy akcję kopiowania. Po wykonaniu DragEventArgs.Effects tych testów należy ustawić właściwość, aby powiadomić źródło przeciągania, jaki będzie efekt upuszczania danych. Źródło przeciągania odbiera te informacje we Effects właściwości argumentów zdarzenia GiveFeedback i może ustawić odpowiedni kursor, aby przekazać opinię użytkownikowi.

Informacje dotyczące kierowanego zdarzenia

Pole identyfikatora DragOverEvent
Strategia routingu Propagacji
Delegat DragEventHandler

Odpowiednie zdarzenie tunelowania to PreviewDragOver.

Dotyczy

Zobacz też