DragDrop.DragEnter Ansluten händelse
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Inträffar när ett objekt dras in i gränserna för ett element som fungerar som ett släppmål.
see AddDragEnterHandler, and RemoveDragEnterHandler
see AddDragEnterHandler, and RemoveDragEnterHandler
see AddDragEnterHandler, and RemoveDragEnterHandler
Exempel
I följande exempel visas DragEnter händelsehanteraren för ett Ellipse element. Den här koden förhandsgranskar effekterna av dra och släpp-åtgärden genom att spara den aktuella Fill penseln. Den kontrollerar sedan om den DataObject som dras över ellipsen innehåller strängdata som kan konverteras till en Brush. I så fall Brush tillämpas den på ellipsen. Ändringen återställs i DragLeave händelsehanteraren. Om data inte kan konverteras till en Brushutförs ingen åtgärd.
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
Kommentarer
Den här händelsen utlöses en gång varje gång ett objekt dras till gränserna för ett element som fungerar som ett släppmål. Den här händelsen utlöses inte om elementets AllowDrop egenskap är false.
Det är valfritt att hantera den här händelsen för släppmålet och är inte nödvändigt för alla dra och släpp-scenarier. Du hanterar vanligtvis den här händelsen för att tillhandahålla en förhandsgranskning av effekterna av dra och släpp-åtgärden, om det är lämpligt för ditt program. Ange DragEventArgs.Effects inte egenskapen i DragEnter händelsen eftersom den skrivs över i DragOver händelsen.
Information om dirigerad händelse
| Objekt | Value |
|---|---|
| Identifierarfält | DragEnterEvent |
| Routningsstrategi | Bubblande |
| Delegera | DragEventHandler |
Motsvarande tunnelhändelse är PreviewDragEnter.