Skip to main content
.NET Framework Class Library
DragDropDragOver Attached Event

Occurs continuously while an object is dragged within the bounds of an element that is acting as a drop target.

Namespace:   System.Windows
Assembly:  PresentationCore (in PresentationCore.dll)
XMLNS for XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation
Syntax
See [%$TOPIC/ms596513_en-us_VS_110_1_0_0_0_0%], [%$TOPIC/ms596513_en-us_VS_110_1_0_0_0_1%]
See [%$TOPIC/ms596513_en-us_VS_110_1_0_1_0_0%], [%$TOPIC/ms596513_en-us_VS_110_1_0_1_0_1%]
See [%$TOPIC/ms596513_en-us_VS_110_1_0_2_0_0%], [%$TOPIC/ms596513_en-us_VS_110_1_0_2_0_1%]
See [%$TOPIC/ms596513_en-us_VS_110_1_0_3_0_0%], [%$TOPIC/ms596513_en-us_VS_110_1_0_3_0_1%]
<object DragDrop.DragOver="[%$TOPIC/ms596513_en-us_VS_110_1_0_4_0_0%]" .../>
Remarks

This event is raised continuously while a dragged object is within the bounds of an element that is acting as a drop target. This event is not raised if the element’s AllowDrop property is false.

The DragOver event is paired with the GiveFeedback event on the drag source. 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. After these checks are performed, you set the DragEventArgsEffects property to notify the drag source what effect dropping the data will have. 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

The corresponding tunneling event is PreviewDragOver.

Examples

The following example shows the DragOver event handler for an Ellipse element. This code checks to see if the DataObject being dragged over the ellipse contains string data that can be converted to a Brush. If so, it sets the DragEventArgsEffects property to Copy. This indicates to the drag source that the data can be copied to the ellipse. If the data cannot be converted to a Brush, the DragEventArgsEffects property is set to None. This indicates to the drag source that the ellipse is not a valid drop target for the data.

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
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;
        }
    }
}
Version Information

.NET Framework

Supported in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
Platforms

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.