DragDrop.DragEnter İ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ına sürüklendiğinde gerçekleşir.
see AddDragEnterHandler, and RemoveDragEnterHandler
see AddDragEnterHandler, and RemoveDragEnterHandler
see AddDragEnterHandler, and RemoveDragEnterHandler
Örnekler
Aşağıdaki örnekte bir Ellipse öğenin olay işleyicisi gösterilmektedirDragEnter. Bu kod, geçerli Fill fırçayı kaydederek sürükle ve bırak işleminin etkilerinin önizlemesini gösterir. Daha sonra üç noktanın üzerine sürüklenen öğesinin DataObject içine dönüştürülebilecek Brushdize verileri içerip içermediğini denetler. Öyleyse, Brush üç noktaya uygulanır. Değişiklik, olay işleyicisinde DragLeave geri döndürülür. Veriler bir Brush'a dönüştürülemiyorsa hiçbir eylem gerçekleştirilmez.
private Brush _previousFill = null;
private void ellipse_DragEnter(object sender, DragEventArgs e)
{
Ellipse ellipse = sender as Ellipse;
if (ellipse != null)
{
// Save the current Fill brush so that you can revert back to this value in DragLeave.
_previousFill = ellipse.Fill;
// 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.
BrushConverter converter = new BrushConverter();
if (converter.IsValid(dataString))
{
Brush newFill = (Brush)converter.ConvertFromString(dataString);
ellipse.Fill = newFill;
}
}
}
}
Private _previousFill As Brush = Nothing
Private Sub Ellipse_DragEnter(ByVal sender As System.Object, ByVal e As System.Windows.DragEventArgs)
Dim ellipse = TryCast(sender, Ellipse)
If ellipse IsNot Nothing Then
' Save the current Fill brush so that you can revert back to this value in DragLeave.
_previousFill = ellipse.Fill
' 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
Açıklamalar
Bu olay, bir nesne bırakma hedefi olarak davranan bir öğenin sınırlarına her sürüklenişinde bir kez oluşturulur. Öğenin AllowDrop özelliği ise bu olay tetiklenmez false.
Bu olayın işlenmesi bırakma hedefi için isteğe bağlıdır ve tüm sürükle ve bırak senaryoları için gerekli değildir. Bu olayı genellikle uygulamanız için uygunsa sürükle ve bırak işleminin etkilerinin önizlemesini sağlamak için işlersiniz. Olayda DragEventArgs.EffectsDragEnter üzerine yazılacağından, olayda DragOver özelliğini ayarlamayın.
Yönlendirilen Olay Bilgileri
| Öğe | Değer |
|---|---|
| Tanımlayıcı alanı | DragEnterEvent |
| Yönlendirme stratejisi | Köpürme |
| Temsilci | DragEventHandler |
Buna karşılık gelen tünel olayı olur PreviewDragEnter.