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


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 уведомлять источник перетаскивания о том, какой эффект приведет к удалению данных. Источник перетаскивания получает эти сведения в Effects свойстве GiveFeedback аргументов события и может задать соответствующий курсор для отправки отзывов пользователю.

Сведения о перенаправленных событиях

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

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

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

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