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


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

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

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