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

次の例は、Ellipse 要素の Drop イベント ハンドラーを示しています。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イベントは、ドロップ先として機能する要素の境界内でオブジェクトがドロップされたときに1回発生します。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.

イベントハンドラーでは、 DataObject転送されたデータをから抽出し、アプリケーションに必要なデータの処理を実行します。 DropIn 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プロパティの初期値は、メソッドのDoDragDrop呼び出しでallowedEffects指定されたと同じです。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 1 つが発生したと見なされます。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
DelegateDelegate DragEventHandler

対応するトンネリングイベントはPreviewDropです。The corresponding tunneling event is PreviewDrop.

適用対象

こちらもご覧ください