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