Udostępnij za pośrednictwem


DragDrop.Drop Zdarzenie dołączone

Definicja

Występuje, gdy obiekt jest porzucany w granicach elementu, który działa jako obiekt docelowy drop.

see AddDropHandler, and RemoveDropHandler
see AddDropHandler, and RemoveDropHandler
see AddDropHandler, and RemoveDropHandler

Przykłady

Poniższy przykład przedstawia procedurę Drop obsługi zdarzeń dla Ellipse elementu. Ten kod stosuje efekty operacji przeciągania i upuszczania. Sprawdza, czy DataObject przeciągnięty wielokropek zawiera dane ciągu, które można przekonwertować na Brushobiekt . Jeśli tak, Brush element jest stosowany do wielokropka. Jeśli nie można przekonwertować danych na element , nie jest wykonywana żadna Brushakcja.

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

Uwagi

Zdarzenie Drop jest wywoływane raz, gdy obiekt jest porzucany w granicach elementu, który działa jako cel drop. To zdarzenie nie jest zgłaszane, jeśli właściwość elementu AllowDrop to false. To zdarzenie kończy operację przeciągania i upuszczania.

W procedurze obsługi zdarzeń Drop wyodrębniasz przesłane dane z obiektu DataObject i wykonujesz dowolne przetwarzanie danych, których wymaga aplikacja. Aby powiadomić źródło przeciągania o wpływie upuszczania, na przykład kopię lub przeniesienie, ustaw DragEventArgs.Effects właściwość w procedurze obsługi zdarzeń Drop . Wartość tej właściwości to wartość DoDragDrop zwracana przez metodę, która zainicjowała operację przeciągania i upuszczania. Jeśli zwracana wartość nie jest zgodna z jedną z allowedEffects wartości określonych w wywołaniu metody DoDragDrop, operacja przeciągania i upuszczania nie jest wykonywana. Początkowa wartość DragEventArgs.Effects właściwości jest taka sama jak allowedEffects określona w wywołaniu DoDragDrop metody . Jeśli właściwość nie zostanie ustawiona DragEventArgs.Effects , zwracana jest ta wartość początkowa i zakłada się, że wystąpiła allowedEffects .

Informacje dotyczące kierowanego zdarzenia

Pole identyfikatora DropEvent
Strategia routingu Propagacji
Delegat DragEventHandler

Odpowiednie zdarzenie tunelowania to PreviewDrop.

Dotyczy

Zobacz też