DragDrop.DragEnter Événement attaché

Définition

Se produit quand un objet est déplacé dans les limites d’un élément qui fait office de cible de déplacement.

see AddDragEnterHandler, and RemoveDragEnterHandler
see AddDragEnterHandler, and RemoveDragEnterHandler
see AddDragEnterHandler, and RemoveDragEnterHandler

Exemples

L'exemple suivant illustre le gestionnaire d'événements DragEnter pour un élément Ellipse. Ce code permet d'obtenir un aperçu des effets de l'opération de glisser-déplacer en enregistrant le pinceau Fill actif. Il vérifie ensuite si le DataObject qui est déplacé sur l’ellipse contient des données de chaîne qui peuvent être converties en .Brush Dans ce cas, le Brush est appliqué à l'ellipse. La modification peut être annulée dans le gestionnaire d'événements DragLeave. Si les données ne peuvent pas être converties en Brush, aucune action n'est effectuée.

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

Remarques

Cet événement est déclenché une fois chaque fois qu’un objet est déplacé dans les limites d’un élément qui agit comme une cible de déplacement. Cet événement n’est pas déclenché si la propriété de l’élément AllowDrop est false.

La gestion de cet événement est facultative pour la cible de déplacement et n’est pas nécessaire pour tous les scénarios de glisser-déplacer. En général, la gestion de cet événement vous permet d’obtenir un aperçu des effets de l’opération de glisser-déplacer, si cela est adapté à votre application. Ne définissez pas la propriété DragEventArgs.Effects dans l'événement DragEnter, car elle sera remplacée dans l'événement DragOver.

Informations sur les événements acheminés

Champ Identificateur DragEnterEvent
Stratégie de routage Bouillonnant
Délégué DragEventHandler

L’événement de tunneling correspondant est PreviewDragEnter.

S’applique à

Voir aussi