DragDrop.Drop Přidružená událost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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 false
vlastnost 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.