DragDrop.Drop 添付イベント

定義

ドロップ先として機能する要素の境界内でオブジェクトがドロップされた時点で発生します。

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

次の例は、Ellipse 要素の Drop イベント ハンドラーを示しています。 このコードは、ドラッグ アンド ドロップ操作の効果を適用します。 このコードは、楕円の上にドラッグされている 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 、ドロップ ターゲットとして機能する要素の境界内でオブジェクトがドロップされると 1 回発生します。 要素 AllowDrop の プロパティが の場合、このイベントは false発生しません。 このイベントは、ドラッグ アンド ドロップ操作を終了します。

Dropイベント ハンドラーでは、 からDataObject転送されたデータを抽出し、アプリケーションで必要なデータの処理を実行します。 コピーや移動など、ドロップの効果をドラッグ ソースに通知するには、イベント ハンドラーで プロパティをDrop設定DragEventArgs.Effectsします。 このプロパティの値は、ドラッグ アンド ドロップ操作を DoDragDrop 開始したメソッドの戻り値です。 返される値が のDoDragDrop呼び出しで指定された のいずれかallowedEffectsと一致しない場合、ドラッグ アンド ドロップ操作は実行されません。 プロパティのDragEventArgs.Effects初期値は、 メソッドの呼び出しDoDragDropで指定された と同じですallowedEffects。 プロパティを DragEventArgs.Effects 設定しない場合、この初期値が返され、 が発生したものと allowedEffects 見なされます。

ルーティングされたイベント情報

識別子フィールド DropEvent
ルーティング戦略 バブル
代理人 DragEventHandler

対応するトンネリング イベントは です PreviewDrop

適用対象

こちらもご覧ください