DragDrop.DragOver 연결된 이벤트

정의

이 이벤트는 개체를 놓기 대상의 역할을 하는 요소 경계 내에서 끄는 동안 계속해서 발생합니다.Occurs continuously while an object is dragged within the bounds of an element that is acting as a drop target.

see AddDragOverHandler, and RemoveDragOverHandler
see AddDragOverHandler, and RemoveDragOverHandler
see AddDragOverHandler, and RemoveDragOverHandler

예제

다음 예제에서는 DragOver 요소에 대 한 이벤트 처리기를 보여 줍니다 Ellipse .The following example shows the DragOver event handler for an Ellipse element. 이 코드는 DataObject 타원 위로 끄는에로 변환 될 수 있는 문자열 데이터가 포함 되어 있는지 여부를 확인 Brush 합니다.This code checks to see if the DataObject being dragged over the ellipse contains string data that can be converted to a Brush. 이 경우 속성을로 설정 합니다 DragEventArgs.Effects Copy .If so, it sets the DragEventArgs.Effects property to Copy. 이는 데이터를 타원에 복사할 수 있음을 끌기 소스에 나타냅니다.This indicates to the drag source that the data can be copied to the ellipse. 데이터를로 변환할 수 없는 경우 Brush DragEventArgs.Effects 속성은로 설정 됩니다 None .If the data cannot be converted to a Brush, the DragEventArgs.Effects property is set to None. 이는 타원이 데이터에 유효한 놓기 대상이 아님을 끌기 소스에 나타냅니다.This indicates to the drag source that the ellipse is not a valid drop target for the data.

private void ellipse_DragOver(object sender, DragEventArgs e)
{
    e.Effects = DragDropEffects.None;

    // 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, allow copying.
        BrushConverter converter = new BrushConverter();
        if (converter.IsValid(dataString))
        {
            e.Effects = DragDropEffects.Copy | DragDropEffects.Move;
        }
    }
}
Private Sub Ellipse_DragOver(ByVal sender As System.Object, ByVal e As System.Windows.DragEventArgs)
    e.Effects = DragDropEffects.None

    ' 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
            e.Effects = DragDropEffects.Copy Or DragDropEffects.Move
        End If
    End If
End Sub

설명

이 이벤트는 끌어 온 개체가 놓기 대상 역할을 하는 요소의 범위 내에 있는 동안 지속적으로 발생 합니다.This event is raised continuously while a dragged object is within 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.

DragOver이 이벤트는 끌기 소스의 이벤트와 쌍을 이룹니다 GiveFeedback .The DragOver event is paired with the GiveFeedback event on the drag source. DragOver이벤트 처리기에서 일반적으로 전송 된 데이터가 놓기 대상에서 처리할 수 있는 형식 인지 확인 합니다.In the DragOver event handler, you typically check that the transferred data is in a format that the drop target can process. 일반적으로 사용자가 이동 또는 복사 작업을 수행 하 고 있는지 여부를 나타내는 보조키가 눌러져 있는지도 확인할 수 있습니다.You can also check whether any modifier keys are pressed, which typically indicates whether the user intends a move or a copy action. 이러한 검사를 수행한 후에는 속성을 설정 하 여 DragEventArgs.Effects 데이터를 삭제 하는 효과를 끌기 소스에 알립니다.After these checks are performed, you set the DragEventArgs.Effects property to notify the drag source what effect dropping the data will have. 끌기 소스는 Effects 이벤트 인수의 속성에서이 정보를 받으며 GiveFeedback 사용자에 게 피드백을 제공 하는 적절 한 커서를 설정할 수 있습니다.The drag source receives this information in the Effects property of the GiveFeedback event arguments, and can set an appropriate cursor to give feedback to the user.

라우팅 이벤트 정보Routed Event Information

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

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

적용 대상

추가 정보