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.