DragDrop.DragOver Attached Event

Definition

놓기 대상으로 사용되는 요소 범위 내에서 개체를 끄는 동안 지속적으로 발생합니다.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

Examples

다음 예제에서는 Ellipse 요소에 대 한 DragOver 이벤트 처리기를 보여 줍니다.The following example shows the DragOver event handler for an Ellipse element. 이 코드는 타원 위로 끌고 있는 DataObjectBrush변환할 수 있는 문자열 데이터가 포함 되어 있는지 여부를 확인 합니다.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

Remarks

이 이벤트는 놓기 대상 역할을 하는 요소 범위 내에서 끌어 온된 개체는 동안 지속적으로 발생 합니다.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. 끌기 소스는 GiveFeedback 이벤트 인수의 Effects 속성에서이 정보를 받으며, 적절 한 커서를 설정 하 여 사용자에 게 피드백을 제공할 수 있습니다.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.

Applies to

See also