Поделиться через


DragDrop.DragOver Присоединенное событие

Определение

Возникает постоянно при перетаскивании объекта в границах элемента, выступающего в качестве цели перетаскивания.

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

Примеры

В следующем примере показан обработчик событий DragOver для элемента Ellipse. В этом коде проверяется, содержит ли объект DataObject, перетаскиваемый над эллипсом, строковые данные, которые можно преобразовать в Brush. Если содержит, то код устанавливает для свойства DragEventArgs.Effects значение Copy. Это указывает источнику перетаскивания, что данные можно скопировать в эллипс. Если данные невозможно преобразовать в Brush, для свойства DragEventArgs.Effects устанавливается значение None. Это указывает источнику перетаскивания, что эллипс не является допустимым конечным расположением сброса для данных.

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

Комментарии

Это событие возникает непрерывно, когда перетаскиваемый объект находится в пределах элемента, выступающего в качестве целевого объекта перетаскивания. Это событие не возникает, если свойство элемента AllowDrop имеет значение false.

Событие DragOver связано с событием GiveFeedback в источнике перетаскивания. В обработчике DragOver событий обычно проверка, что передаваемые данные в формате, который может обработать целевой объект удаления. Вы также можете проверка, нажаты ли какие-либо клавиши-модификаторы, что обычно указывает, намерен ли пользователь переместить или скопировать действие. После выполнения этих проверок вы устанавливаете свойство DragEventArgs.Effects, чтобы уведомить источник перетаскивания о том, какой эффект окажет сброс данных. Источник перетаскивания получает эти сведения в свойстве EffectsGiveFeedback аргументов события и может задать соответствующий курсор для отправки отзывов пользователю.

Сведения о маршрутизируемом событии

Поле идентификатора DragOverEvent
Стратегия маршрутизации Восходящей
Делегат DragEventHandler

Соответствующее событие туннелирования — PreviewDragOver.

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

См. также раздел