DragDrop.DragEnter DragDrop.DragEnter DragDrop.DragEnter Attached Event

정의

놓기 대상으로 사용되는 요소의 범위로 개체를 끌 때 발생합니다.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

예제

다음 예제에서는 Ellipse 요소에 대한 DragEnter 이벤트 처리기를 보여 줍니다.The following example shows the DragEnter event handler for an Ellipse element. 이 코드는 현재 Fill 브러시를 저장하여 끌어서 놓기 작업의 효과를 미리 봅니다.This code previews the effects of the drag-and-drop operation by saving the current Fill brush. 그런 다음 확인 하는 DataObject 변환할 수 있는 문자열 데이터가 포함 되어 타원 위로 끄는 Brush합니다.It then checks to see if the DataObject being dragged over the ellipse contains string data that can be converted to a Brush. 포함되어 있는 경우 Brush가 타원에 적용됩니다.If so, the Brush is applied to the ellipse. 변경 내용이 DragLeave 이벤트 처리기에서 취소됩니다.The change is reverted in the DragLeave event handler. 데이터를 Brush로 변환할 수 없는 경우 아무 작업도 수행되지 않습니다.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

설명

이 이벤트는 놓기 대상 역할을 하는 요소의 범위로 개체를 끌 때마다 한 번씩 발생 합니다.This event is raised once each time an object is dragged into the bounds of an element that is acting as a drop target. 경우에이 이벤트가 발생 하지 않습니다 요소의 AllowDrop 속성은 false합니다.This event is not raised if the element's AllowDrop property is false.

이 이벤트는 놓기 대상에서 선택 사항이 며 모든 끌어서 놓기 시나리오에 필요 하지 않습니다.Handling this event is optional for the drop target, and is not necessary for all drag-and-drop scenarios. 애플리케이션에 적절한 경우 일반적으로 이 이벤트를 처리하여 끌어서 놓기 작업의 효과 미리 보기를 제공합니다.You typically handle this event to provide a preview of the effects of the drag-and-drop operation, if appropriate for your application. DragEnter 이벤트에서 DragEventArgs.Effects 속성을 설정하지 마세요. DragOver 이벤트를 덮어쓰게 됩니다.Do not set the DragEventArgs.Effects property in the DragEnter event, as it will be overwritten in the DragOver event.

라우팅 이벤트 정보Routed Event Information

식별자 필드Identifier field DragEnterEvent
라우팅 전략Routing strategy 버블링Bubbling
대리자Delegate DragEventHandler

해당 터널링 이벤트가 PreviewDragEnter합니다.The corresponding tunneling event is PreviewDragEnter.

적용 대상

추가 정보