DragDrop.DragEnter 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, když je objekt přetažen do hranic elementu, který funguje jako cíl přetažení.
see AddDragEnterHandler, and RemoveDragEnterHandler
see AddDragEnterHandler, and RemoveDragEnterHandler
see AddDragEnterHandler, and RemoveDragEnterHandler
Příklady
Následující příklad ukazuje obslužnou rutinu DragEnter události elementu Ellipse . Tento kód zobrazí náhled efektů operace přetažení uložením aktuálního Fill štětce. Pak zkontroluje, 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. Změna se vrátí v obslužné rutině DragLeave události. Pokud data nelze převést na Brush, neprovádí se žádná akce.
private Brush _previousFill = null;
private void ellipse_DragEnter(object sender, DragEventArgs e)
{
Ellipse ellipse = sender as Ellipse;
if (ellipse != null)
{
// Save the current Fill brush so that you can revert back to this value in DragLeave.
_previousFill = ellipse.Fill;
// 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.
BrushConverter converter = new BrushConverter();
if (converter.IsValid(dataString))
{
Brush newFill = (Brush)converter.ConvertFromString(dataString);
ellipse.Fill = newFill;
}
}
}
}
Private _previousFill As Brush = Nothing
Private Sub Ellipse_DragEnter(ByVal sender As System.Object, ByVal e As System.Windows.DragEventArgs)
Dim ellipse = TryCast(sender, Ellipse)
If ellipse IsNot Nothing Then
' Save the current Fill brush so that you can revert back to this value in DragLeave.
_previousFill = ellipse.Fill
' 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
Tato událost je vyvolána při každém přetažení objektu do hranic elementu, který funguje jako cíl přetažení. Tato událost není vyvolána, pokud je false
vlastnost elementu AllowDrop .
Zpracování této události je pro cíl přetažení volitelné a není nutné pro všechny scénáře přetažení. Tuto událost obvykle zpracováváte, abyste získali náhled efektů operace přetažení, pokud je to vhodné pro vaši aplikaci. Nenastavujte DragEventArgs.Effects vlastnost v DragEnter události, protože se v DragOver události přepíše.
Informace o směrované události
Pole Identifikátor | DragEnterEvent |
Strategie směrování | Bublající |
Delegát | DragEventHandler |
Odpovídající událost tunelování je PreviewDragEnter.