DragDrop.DragEnter Kejadian Terlampir
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Terjadi ketika objek diseret ke batas elemen yang bertindak sebagai target penurunan.
see AddDragEnterHandler, and RemoveDragEnterHandler
see AddDragEnterHandler, and RemoveDragEnterHandler
see AddDragEnterHandler, and RemoveDragEnterHandler
Contoh
Contoh berikut menunjukkan penanganan DragEnter aktivitas untuk Ellipse elemen . Kode ini mempratinjau efek operasi seret dan letakkan dengan menyimpan kuas saat ini Fill . Kemudian memeriksa untuk melihat apakah elips DataObject yang diseret berisi data string yang dapat dikonversi menjadi Brush. Jika demikian, Brush diterapkan ke elips. Perubahan dikembalikan di penanganan DragLeave aktivitas. Jika data tidak dapat dikonversi ke Brush, tidak ada tindakan yang dilakukan.
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
Keterangan
Kejadian ini dinaikkan sekali setiap kali objek diseret ke batas elemen yang bertindak sebagai target penurunan. Kejadian ini tidak dinaikkan jika properti elemen AllowDrop adalah false
.
Menangani peristiwa ini bersifat opsional untuk target penghilangan, dan tidak diperlukan untuk semua skenario seret dan letakkan. Anda biasanya menangani peristiwa ini untuk memberikan pratinjau efek operasi seret dan letakkan, jika sesuai untuk aplikasi Anda. Jangan atur DragEventArgs.Effects properti dalam DragEnter peristiwa, karena akan ditimpa dalam peristiwa tersebut DragOver .
Informasi Peristiwa Yang Dirutekan
Bidang pengidentifikasi | DragEnterEvent |
Strategi perutean | Menggelegak |
Delegasikan | DragEventHandler |
Peristiwa penerowongan yang sesuai adalah PreviewDragEnter.