DragDrop.DragOver İliştirilmiş Olaylar

Tanım

Bir nesne bırakma hedefi görevi gören bir öğe sınırları içinde sürüklenirken sürekli gerçekleşir.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

Örnekler

Aşağıdaki örnekte DragOver bir öğesi için olay işleyicisi gösterilmektedir Ellipse .The following example shows the DragOver event handler for an Ellipse element. Bu kod, DataObject elips üzerine sürüklenemekte olan dize verilerini içerip içermediğini kontrol eder Brush .This code checks to see if the DataObject being dragged over the ellipse contains string data that can be converted to a Brush. Varsa, DragEventArgs.Effects özelliğini olarak ayarlar Copy .If so, it sets the DragEventArgs.Effects property to Copy. Bu, sürükle kaynağına verilerin elips 'e kopyalanamayacağını gösterir.This indicates to the drag source that the data can be copied to the ellipse. Veriler bir öğesine dönüştürülemiyorsa Brush , DragEventArgs.Effects özelliği olarak ayarlanır None .If the data cannot be converted to a Brush, the DragEventArgs.Effects property is set to None. Bu, sürükle kaynağına, elipsin veri için geçerli bir bırakma hedefi olmadığını gösterir.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

Açıklamalar

Bu olay, sürüklenen bir nesne bırakma hedefi görevi gören bir öğe sınırları içinde olduğunda sürekli olarak oluşturulur.This event is raised continuously while a dragged object is within the bounds of an element that is acting as a drop target. Öğenin özelliği ise bu olay oluşturulmaz AllowDrop false .This event is not raised if the element's AllowDrop property is false.

DragOverOlay, GiveFeedback sürükleme kaynağındaki olayla eşleştirilir.The DragOver event is paired with the GiveFeedback event on the drag source. DragOverOlay işleyicisinde, genellikle aktarılan verilerin bırakma hedefinin işleyebilme biçiminde olduğunu kontrol edersiniz.In the DragOver event handler, you typically check that the transferred data is in a format that the drop target can process. Ayrıca, bir değiştirici tuşuna basıldığında, genellikle kullanıcının bir taşıma veya kopyalama eylemi yapıp kullanmadığını belirten bir denetim yapabilirsiniz.You can also check whether any modifier keys are pressed, which typically indicates whether the user intends a move or a copy action. Bu denetimler gerçekleştirildikten sonra, DragEventArgs.Effects Sürükle kaynağına verilerin hangi etkilerden hangilerinin sahip olacağını bildirmek için özelliğini ayarlayın.After these checks are performed, you set the DragEventArgs.Effects property to notify the drag source what effect dropping the data will have. Sürükleme kaynağı bu bilgileri Effects GiveFeedback olay bağımsız değişkenlerinin özelliğinde alır ve kullanıcıya geri bildirim vermek için uygun bir imleç ayarlayabilir.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.

Yönlendirilmiş Olay BilgisiRouted Event Information

Tanımlayıcı alanıIdentifier field DragOverEvent
Yönlendirme stratejisiRouting strategy TırmanmaBubbling
TemsilciDelegate DragEventHandler

Karşılık gelen Tünel olayı PreviewDragOver .The corresponding tunneling event is PreviewDragOver.

Şunlara uygulanır

Ayrıca bkz.