DragDrop.Drop Присоединенное событие
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Происходит при удалении объекта в пределах элемента, который выступает в качестве целевого объекта удаления.
see AddDropHandler, and RemoveDropHandler
see AddDropHandler, and RemoveDropHandler
see AddDropHandler, and RemoveDropHandler
Примеры
В следующем примере показан Drop обработчик событий для Ellipse элемента. Этот код применяет эффекты операции перетаскивания. Он проверяет, содержит ли DataObject перетаскивание по многоточию строковые данные, которые можно преобразовать в Brush. В этом Brush случае применяется к многоточию. Если данные не могут быть преобразованы в объект Brush, действие не выполняется.
private void ellipse_Drop(object sender, DragEventArgs e)
{
Ellipse ellipse = sender as Ellipse;
if (ellipse != null)
{
// 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,
// convert it and apply it to the ellipse.
BrushConverter converter = new BrushConverter();
if (converter.IsValid(dataString))
{
Brush newFill = (Brush)converter.ConvertFromString(dataString);
ellipse.Fill = newFill;
}
}
}
}
Private Sub Ellipse_Drop(ByVal sender As System.Object, ByVal e As System.Windows.DragEventArgs)
Dim ellipse = TryCast(sender, Ellipse)
If ellipse IsNot Nothing Then
' 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
Dim newFill As Brush = CType(converter.ConvertFromString(dataString), Brush)
ellipse.Fill = newFill
End If
End If
End If
End Sub
Комментарии
Событие Drop вызывается один раз, когда объект удаляется в пределах элемента, который выступает в качестве целевого объекта удаления. Это событие не вызывается, если свойство элемента AllowDrop имеет значение false. Это событие завершает операцию перетаскивания.
В обработчике Drop событий извлекается передаваемые данные из DataObject и выполняется любая обработка необходимых приложению данных. Чтобы уведомить источник перетаскивания, например копию или перемещение, задайте DragEventArgs.Effects свойство в обработчике Drop событий. Значение этого свойства — это возвращаемое значение DoDragDrop метода, инициирующего операцию перетаскивания. Если возвращаемое значение не соответствует одному из указанных allowedEffects в вызове DoDragDrop, операция перетаскивания не выполняется. Начальное значение DragEventArgs.Effects свойства совпадает с allowedEffects указанным в вызове DoDragDrop метода. Если свойство не задано DragEventArgs.Effects , возвращается исходное значение и предполагается, что произошло одно из allowedEffects них.
Сведения о перенаправленных событиях
| Элемент | Ценность |
|---|---|
| Поле идентификатора | DropEvent |
| Стратегия маршрутизации | Восходящей |
| Делегат | DragEventHandler |
Соответствующее событие туннелирования .PreviewDrop