Sdílet prostřednictvím


DragDrop.Drop Přidružená událost

Definice

Nastane při objektu je vyřazena v rámci hranic prvku, který funguje jako cíl přetažení.

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

Příklady

Následující příklad ukazuje obslužnou rutinu DropEllipse události pro prvek. Tento kód použije efekty operace přetažení. Kontroluje, jestli DataObject přetahování přes tři tečky obsahuje řetězcová data, která lze převést na Brush. Pokud ano, Brush použije se na tři tečky. Pokud data nelze převést na Brush, neprovede se žádná akce.

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

Poznámky

Událost Drop je vyvolána jednou, když je objekt vyřazen v rámci hranic prvku, který funguje jako cíl přetažení. Tato událost není vyvolána, pokud je falsevlastnost elementu AllowDrop . Tato událost ukončí operaci přetažení.

V obslužné rutině Drop události extrahujete přenesená data z objektu DataObject a provedete jakékoli zpracování dat, která vaše aplikace vyžaduje. Chcete-li zdroji přetažení oznámit efekt přetažení, například kopírování nebo přesunutí, nastavte DragEventArgs.Effects vlastnost v obslužné rutině Drop události. Hodnota této vlastnosti je návratová hodnota DoDragDrop metody, která iniciovala operaci přetažení. Pokud vrácená hodnota neodpovídá jedné z hodnot zadaných allowedEffects ve volání metody DoDragDrop, operace přetažení se neprovede. Počáteční hodnota DragEventArgs.Effects vlastnosti je stejná jako allowedEffects hodnota zadaná ve volání DoDragDrop metody . Pokud vlastnost nenastavíte DragEventArgs.Effects , vrátí se tato počáteční hodnota a předpokládá se, že k jedné allowedEffects došlo.

Informace o směrované události

Pole Identifikátor DropEvent
Strategie směrování Bublající
Delegát DragEventHandler

Odpovídající událost tunelování je PreviewDrop.

Platí pro

Viz také