DragDrop.Drop DragDrop.Drop DragDrop.Drop Attached Event

Определение

Возникает при помещении объекта в границах элемента, выступающего в качестве цели перетаскивания.Occurs when an object is dropped within the bounds of an element that is acting as a drop target.

see AddDropHandler, and RemoveDropHandler
see AddDropHandler, and RemoveDropHandler
see AddDropHandler, and RemoveDropHandler

Примеры

В следующем примере показан обработчик событий Drop для элемента Ellipse.The following example shows the Drop event handler for an Ellipse element. Этот код применяет эффекты операции перетаскивания и вставки.This code applies the effects of the drag-and-drop operation. Он проверяет, содержит ли объект DataObject, перетаскиваемый над эллипсом, строковые данные, которые можно преобразовать в Brush.It checks to see if the DataObject being dragged over the ellipse contains string data that can be converted to a Brush. Если это так, то к эллипсу применяется объект Brush.If so, the Brush is applied to the ellipse. Если данные невозможно преобразовать в Brush, никакие действия не выполняются.If the data cannot be converted to a Brush, no action is performed.

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 Событие происходит один раз при удалении объекта в границах элемента, выступающего в качестве целевого объекта перетаскивания.The Drop event is raised once when an object is dropped within the bounds of an element that is acting as a drop target. Это событие не происходит, если элемент AllowDrop свойство false.This event is not raised if the element's AllowDrop property is false. Это событие завершает операцию перетаскивания и вставки.This event ends the drag-and-drop operation.

В Drop обработчик событий, извлечения передаваемых данных из DataObject и выполняет обработку данных, которая необходима для приложения.In the Drop event handler, you extract the transferred data from the DataObject and perform any processing of the data that your application requires. Чтобы уведомить источник перетаскивания из последствия перетаскивания, например, копирования или перемещения, задайте DragEventArgs.Effects свойство в Drop обработчик событий.To notify the drag source of the effect of the drop, such as a copy or move, set the DragEventArgs.Effects property in the Drop event handler. Значение этого свойства является значение, возвращаемое DoDragDrop метод, который инициировал операцию перетаскивания и вставки.The value of this property is the return value of the DoDragDrop method that initiated the drag-and-drop operation. Если значение, которое возвращается не соответствует ни одному из allowedEffects указанный в вызове DoDragDrop, операции перетаскивания и вставки не выполняются.If the value that is returned does not match one of the allowedEffects specified in the call to DoDragDrop, the drag-and-drop operation is not performed. Начальное значение DragEventArgs.Effects свойства совпадает со значением allowedEffects указанный в вызове DoDragDrop метод.The initial value of the DragEventArgs.Effects property is the same as the allowedEffects specified in the call to the DoDragDrop method. Если вы не установите DragEventArgs.Effects свойство, возвращается это начальное значение, и предполагается, что один allowedEffects произошла.If you do not set the DragEventArgs.Effects property, this initial value is returned and it is assumed that one the allowedEffects occurred.

Сведения о маршрутизируемом событииRouted Event Information

Поле идентификатораIdentifier field DropEvent
Стратегия маршрутизацииRouting strategy Восходящая маршрутизацияBubbling
делегатDelegate DragEventHandler

Соответствующее событие нисходящей маршрутизации является PreviewDrop.The corresponding tunneling event is PreviewDrop.

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

Дополнительно