Sdílet prostřednictvím


DragDrop.DragEnter Přidružená událost

Definice

Nastane, když je objekt přetažen do hranic elementu, který funguje jako cíl přetažení.

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

Příklady

Následující příklad ukazuje obslužnou rutinu DragEnter události elementu Ellipse . Tento kód zobrazí náhled efektů operace přetažení uložením aktuálního Fill štětce. Pak zkontroluje, jestli DataObject přetahování přes tři tečky obsahuje řetězcová data, která lze převést na Brush. Pokud ano, Brush použije se na tři tečky. Změna se vrátí v obslužné rutině DragLeave události. Pokud data nelze převést na Brush, neprovádí se žádná akce.

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

Poznámky

Tato událost je vyvolána při každém přetažení objektu do hranic elementu, který funguje jako cíl přetažení. Tato událost není vyvolána, pokud je falsevlastnost elementu AllowDrop .

Zpracování této události je pro cíl přetažení volitelné a není nutné pro všechny scénáře přetažení. Tuto událost obvykle zpracováváte, abyste získali náhled efektů operace přetažení, pokud je to vhodné pro vaši aplikaci. Nenastavujte DragEventArgs.Effects vlastnost v DragEnter události, protože se v DragOver události přepíše.

Informace o směrované události

Pole Identifikátor DragEnterEvent
Strategie směrování Bublající
Delegát DragEventHandler

Odpovídající událost tunelování je PreviewDragEnter.

Platí pro

Viz také