DragDrop.DragEnter Toegevoegde gebeurtenis
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Treedt op wanneer een object wordt gesleept naar de grenzen van een element dat fungeert als een neervaldoel.
see AddDragEnterHandler, and RemoveDragEnterHandler
see AddDragEnterHandler, and RemoveDragEnterHandler
see AddDragEnterHandler, and RemoveDragEnterHandler
Voorbeelden
In het volgende voorbeeld ziet u de DragEnter gebeurtenis-handler voor een Ellipse element. Met deze code ziet u een voorbeeld van de effecten van de bewerking slepen en neerzetten door het huidige Fill kwast op te slaan. Vervolgens wordt gecontroleerd of het DataObject te slepen over het beletselteken tekenreeksgegevens bevat die kunnen worden geconverteerd naar een Brush. Zo ja, dan wordt het Brush toegepast op het beletselteken. De wijziging wordt teruggezet in de DragLeave gebeurtenis-handler. Als de gegevens niet naar een Brushkunnen worden geconverteerd, wordt er geen actie uitgevoerd.
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
Opmerkingen
Deze gebeurtenis wordt eenmaal gegenereerd wanneer een object wordt gesleept naar de grenzen van een element dat fungeert als een doel voor neerzetten. Deze gebeurtenis wordt niet gegenereerd als de eigenschap van AllowDrop het element is false.
Het afhandelen van deze gebeurtenis is optioneel voor het doel voor neerzetten en is niet nodig voor alle scenario's met slepen en neerzetten. Normaal gesproken verwerkt u deze gebeurtenis om een voorbeeld te geven van de effecten van de bewerking slepen en neerzetten, indien van toepassing. Stel de DragEventArgs.Effects eigenschap niet in de DragEnter gebeurtenis in, omdat deze wordt overschreven in de DragOver gebeurtenis.
Gerouteerde gebeurtenisgegevens
| Item | Waarde |
|---|---|
| Id-veld | DragEnterEvent |
| Routeringsstrategie | Borrelen |
| Gedelegeerde | DragEventHandler |
De bijbehorende tunneling-gebeurtenis is PreviewDragEnter.