DragDrop.DragEnter Zdarzenie dołączone

Definicja

Występuje, gdy obiekt zostanie przeciągnięty do granic elementu, który działa jako element docelowy upuszczania.Occurs when an object is dragged into the bounds of an element that is acting as a drop target.

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

Przykłady

Poniższy przykład pokazuje DragEnter procedurę obsługi zdarzeń dla Ellipse elementu.The following example shows the DragEnter event handler for an Ellipse element. Ten kod umożliwia wyświetlenie podglądu efektów operacji przeciągania i upuszczania przez zapisanie bieżącego Fill pędzla.This code previews the effects of the drag-and-drop operation by saving the current Fill brush. Następnie sprawdza, czy DataObject Przeciąganie przez wielokropek zawiera dane ciągu, które można przekonwertować na Brush .It then checks to see if the DataObject being dragged over the ellipse contains string data that can be converted to a Brush. Jeśli tak, Brush to jest stosowany do elipsy.If so, the Brush is applied to the ellipse. Zmiana zostanie wycofana w programie DragLeave obsługi zdarzeń.The change is reverted in the DragLeave event handler. Jeśli nie można przekonwertować danych na obiekt Brush , nie jest wykonywana żadna akcja.If the data cannot be converted to a Brush, no action is performed.

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

Uwagi

To zdarzenie jest wywoływane raz za każdym razem, gdy obiekt zostanie przeciągnięty do granic elementu, który działa jako element docelowy upuszczania.This event is raised once each time an object is dragged into the bounds of an element that is acting as a drop target. To zdarzenie nie jest wywoływane, jeśli właściwość elementu AllowDrop to false .This event is not raised if the element's AllowDrop property is false.

Obsługa tego zdarzenia jest opcjonalna dla elementu docelowego upuszczania i nie jest konieczna dla wszystkich scenariuszy przeciągania i upuszczania.Handling this event is optional for the drop target, and is not necessary for all drag-and-drop scenarios. To zdarzenie jest zwykle obsługiwane, aby zapewnić podgląd efektów operacji przeciągania i upuszczania, jeśli jest to odpowiednie dla aplikacji.You typically handle this event to provide a preview of the effects of the drag-and-drop operation, if appropriate for your application. Nie ustawiaj DragEventArgs.Effects właściwości w DragEnter zdarzeniu, ponieważ zostanie ona zapisywana w DragOver zdarzeniu.Do not set the DragEventArgs.Effects property in the DragEnter event, as it will be overwritten in the DragOver event.

Informacje dotyczące kierowanego zdarzeniaRouted Event Information

Pole identyfikatoraIdentifier field DragEnterEvent
Strategia routinguRouting strategy PropagacjaBubbling
DelegatDelegate DragEventHandler

Odpowiednie zdarzenie tunelowania to PreviewDragEnter .The corresponding tunneling event is PreviewDragEnter.

Dotyczy

Zobacz też