DragDrop.DragEnter Evento associato

Definizione

Si verifica quando un oggetto viene trascinato entro i limiti di un elemento che funge da destinazione del rilascio.

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

Esempio

Il seguente esempio mostra il gestore dell'evento DragEnter per un elemento Ellipse. Questo codice visualizza in anteprima gli effetti dell'operazione di trascinamento della selezione salvando il pennello Fill corrente. Verifica quindi se l'oggetto DataObject trascinato sui puntini di sospensione contiene dati stringa che possono essere convertiti in un Brushoggetto . In tal caso, Brush viene applicato all'ellisse. La modifica viene ripristinata nel gestore dell'evento DragLeave. Se i dati non possono essere convertiti in un Brush, non viene eseguita alcuna azione.

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

Commenti

Questo evento viene generato una volta ogni volta che un oggetto viene trascinato nei limiti di un elemento che funge da destinazione di rilascio. Questo evento non viene generato se la proprietà dell'elemento AllowDrop è false.

La gestione di questo evento è facoltativa per la destinazione di rilascio e non è necessaria per tutti gli scenari di trascinamento. In genere si gestisce questo evento per fornire un'anteprima degli effetti dell'operazione di trascinamento e rilascio, se appropriato per l'applicazione. Non impostare la proprietà DragEventArgs.Effects nell'evento DragEnter, perché verrà sovrascritta nell'evento DragOver.

Informazioni evento indirizzato

Campo Identificatore DragEnterEvent
Strategia di routing Bubbling
Delegato DragEventHandler

L'evento di tunneling corrispondente è PreviewDragEnter.

Si applica a

Vedi anche