Share via


DragDrop.DragEnter Kejadian Terlampir

Definisi

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.

Berlaku untuk

Lihat juga