Aracılığıyla paylaş


DragDrop.DragOver İliştirilmiş Olaylar

Tanım

Bir nesne bırakma hedefi olarak davranan bir öğenin sınırları içinde sürüklenirken sürekli olarak gerçekleşir.

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

Örnekler

Aşağıdaki örnekte bir Ellipse öğenin olay işleyicisi gösterilmektedirDragOver. Bu kod, üç noktanın üzerine sürüklenen öğesinin DataObject bir öğesine dönüştürülebilecek Brushdize verileri içerip içermediğini denetler. Öyleyse, özelliğini olarak CopyayarlarDragEventArgs.Effects. Bu, sürükleme kaynağına verilerin üç noktaya kopyalanabileceğini gösterir. Veriler bir BrushDragEventArgs.Effects 'a dönüştürülemiyorsa özelliği olarak Noneayarlanır. Bu, sürükleme kaynağına üç noktanın veriler için geçerli bir bırakma hedefi olmadığını gösterir.

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

Sürüklenen bir nesne bırakma hedefi olarak davranan bir öğenin sınırları içindeyken bu olay sürekli olarak oluşturulur. Öğenin AllowDrop özelliği ise bu olay tetiklenmez false.

Olay DragOver , sürükleme kaynağındaki GiveFeedback olayla eşleştirilir. Olay işleyicisinde DragOver genellikle aktarılan verilerin bırakma hedefinin işleyebileceği bir biçimde olup olmadığını denetlersiniz. Ayrıca, herhangi bir değiştirici tuşa basılıp basılmadığını da denetleyebilirsiniz. Bu, genellikle kullanıcının taşımayı mı yoksa kopyalama eylemini mi amaçladığını gösterir. Bu denetimler gerçekleştirildikten sonra, sürükleme kaynağına verileri bırakmanın DragEventArgs.Effects hangi etkisinin olacağını bildirmek için özelliğini ayarlarsınız. Sürükleme kaynağı bu bilgileri olay bağımsız değişkenlerinin GiveFeedback özelliğinde Effects alır ve kullanıcıya geri bildirim sağlamak için uygun bir imleç ayarlayabilir.

Yönlendirilmiş Olay Bilgisi

Tanımlayıcı alanı DragOverEvent
Yönlendirme stratejisi Köpürme
Temsilci DragEventHandler

Buna karşılık gelen tünel olayı şeklindedir PreviewDragOver.

Şunlara uygulanır

Ayrıca bkz.