DragDrop.DragOver DragDrop.DragOver DragDrop.DragOver Attached Event

定義

オブジェクトがドロップ ターゲットとして機能する要素の境界内にドラッグされたときに継続的に発生します。Occurs continuously while an object is dragged within the bounds of an element that is acting as a drop target.

see AddDragOverHandler, and RemoveDragOverHandler
see AddDragOverHandler, and RemoveDragOverHandler
see AddDragOverHandler, and RemoveDragOverHandler

次の例は、Ellipse 要素の DragOver イベント ハンドラーを示しています。The following example shows the DragOver event handler for an Ellipse element. このコードは、楕円の上にドラッグされている DataObject に、Brush に変換できる文字列データが含まれているかどうかを確認します。 This code checks to see if the DataObject being dragged over the ellipse contains string data that can be converted to a Brush. 含まれている場合、DragEventArgs.Effects プロパティを Copy に設定します。If so, it sets the DragEventArgs.Effects property to Copy. これにより、ドラッグ元に対して、データが楕円にコピーできることを示します。This indicates to the drag source that the data can be copied to the ellipse. データが Brush に変換できない場合、DragEventArgs.Effects プロパティは None に設定されます。If the data cannot be converted to a Brush, the DragEventArgs.Effects property is set to None. これにより、ドラッグ元に対して、楕円はデータの有効なドロップ先ではないことを示します。This indicates to the drag source that the ellipse is not a valid drop target for the data.

private void ellipse_DragOver(object sender, DragEventArgs e)
{
    e.Effects = DragDropEffects.None;

    // 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, allow copying.
        BrushConverter converter = new BrushConverter();
        if (converter.IsValid(dataString))
        {
            e.Effects = DragDropEffects.Copy | DragDropEffects.Move;
        }
    }
}
Private Sub Ellipse_DragOver(ByVal sender As System.Object, ByVal e As System.Windows.DragEventArgs)
    e.Effects = DragDropEffects.None

    ' 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
            e.Effects = DragDropEffects.Copy Or DragDropEffects.Move
        End If
    End If
End Sub

注釈

ドラッグしたオブジェクトがドロップ先として機能する要素の境界内に継続的には、このイベントが発生します。This event is raised continuously while a dragged object is 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.

DragOverイベントとペアになり、GiveFeedbackドラッグ元でのイベント。The DragOver event is paired with the GiveFeedback event on the drag source. DragOverイベント ハンドラーでは、通常をチェックする、転送されたデータがドロップ先で処理できる形式であります。In the DragOver event handler, you typically check that the transferred data is in a format that the drop target can process. どの修飾子キーが押されたかどうか、通常、ユーザーが移動またはコピー操作であるかどうかを示す確認することもできます。You can also check whether any modifier keys are pressed, which typically indicates whether the user intends a move or a copy action. これらの確認を行った後、DragEventArgs.Effects プロパティを、データをドロップするとどのような効果が起こるかをドラッグ元に通知するように設定します。After these checks are performed, you set the DragEventArgs.Effects property to notify the drag source what effect dropping the data will have. ドラッグ元では、この情報を受け取る、Effectsのプロパティ、GiveFeedbackイベントの引数をユーザーにフィードバックを提供する適切なカーソルを設定することができます。The drag source receives this information in the Effects property of the GiveFeedback event arguments, and can set an appropriate cursor to give feedback to the user.

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

識別子フィールドです。Identifier field DragOverEvent
ルーティング方法Routing strategy バブルBubbling
DelegateDelegate DragEventHandler

対応するトンネル イベントはPreviewDragOverします。The corresponding tunneling event is PreviewDragOver.

適用対象

こちらもご覧ください