DragDrop.DragEnter Ansluten händelse

Definition

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.

Gäller för

Se även