DragDrop.DragOver Attached Event

Definition

Ocorre continuamente enquanto um objeto é arrastado dentro dos limites de um elemento que está atuando como uma reprodução automática.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

O exemplo a seguir mostra o manipulador de eventos DragOver para um elemento Ellipse.The following example shows the DragOver event handler for an Ellipse element. Esse código verifica se o DataObject que está sendo arrastado sobre a elipse contém dados de cadeia de caracteres que podem ser convertidos em um Brush.This code checks to see if the DataObject being dragged over the ellipse contains string data that can be converted to a Brush. Nesse caso, ele define a propriedade DragEventArgs.Effects como Copy.If so, it sets the DragEventArgs.Effects property to Copy. Isso indica à origem do arrasto que os dados podem ser copiados para a elipse.This indicates to the drag source that the data can be copied to the ellipse. Se os dados não puderem ser convertidos em um Brush, a propriedade DragEventArgs.Effects será definida como None.If the data cannot be converted to a Brush, the DragEventArgs.Effects property is set to None. Isso indica à origem do arrasto que a elipse não é um destino de soltar válido para os dados.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

Esse evento é gerado continuamente enquanto um objeto arrastado está dentro dos limites de um elemento que está agindo como um destino de soltar.This event is raised continuously while a dragged object is within the bounds of an element that is acting as a drop target. Esse evento não será gerado se a propriedade de AllowDrop do elemento for false.This event is not raised if the element's AllowDrop property is false.

O evento DragOver é emparelhado com o evento GiveFeedback na fonte de arrastar.The DragOver event is paired with the GiveFeedback event on the drag source. No manipulador de eventos DragOver, você geralmente verifica se os dados transferidos estão em um formato que o destino de soltar pode processar.In the DragOver event handler, you typically check that the transferred data is in a format that the drop target can process. Você também pode verificar se as teclas modificadoras são pressionadas, o que normalmente indica se o usuário pretende uma ação de mover ou copiar.You can also check whether any modifier keys are pressed, which typically indicates whether the user intends a move or a copy action. Depois que essas verificações são executadas, você define a propriedade DragEventArgs.Effects para notificar a fonte de arrastar que o efeito que descartar os dados terá.After these checks are performed, you set the DragEventArgs.Effects property to notify the drag source what effect dropping the data will have. A origem de arrastar recebe essas informações na propriedade Effects dos argumentos de evento GiveFeedback e pode definir um cursor apropriado para fornecer comentários ao usuário.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.

Informações Sobre Eventos RoteadosRouted Event Information

Campo de identificadorIdentifier field DragOverEvent
Estratégia de roteamentoRouting strategy PropagaçãoBubbling
DelegadoDelegate DragEventHandler

O evento de encapsulamento correspondente é PreviewDragOver.The corresponding tunneling event is PreviewDragOver.

Applies to

See also