DragDrop.DragOver İliştirilmiş Olaylar
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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.