DragDrop.DragOver DragDrop.DragOver DragDrop.DragOver Attached Event

Определение

Возникает постоянно при перетаскивании объекта внутри границ элемента, выступающего в качестве объекта-приемника.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.

Применяется к

Дополнительно