DragDrop.DragEnter Événement attaché
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.