DragDrop.DoDragDrop(DependencyObject, Object, DragDropEffects) Metode
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.
Memulai operasi seret dan letakkan.
public:
static System::Windows::DragDropEffects DoDragDrop(System::Windows::DependencyObject ^ dragSource, System::Object ^ data, System::Windows::DragDropEffects allowedEffects);
[System.Security.SecurityCritical]
public static System.Windows.DragDropEffects DoDragDrop (System.Windows.DependencyObject dragSource, object data, System.Windows.DragDropEffects allowedEffects);
public static System.Windows.DragDropEffects DoDragDrop (System.Windows.DependencyObject dragSource, object data, System.Windows.DragDropEffects allowedEffects);
[<System.Security.SecurityCritical>]
static member DoDragDrop : System.Windows.DependencyObject * obj * System.Windows.DragDropEffects -> System.Windows.DragDropEffects
static member DoDragDrop : System.Windows.DependencyObject * obj * System.Windows.DragDropEffects -> System.Windows.DragDropEffects
Public Shared Function DoDragDrop (dragSource As DependencyObject, data As Object, allowedEffects As DragDropEffects) As DragDropEffects
Parameter
- dragSource
- DependencyObject
Referensi ke objek dependensi yang merupakan sumber data yang diseret.
- data
- Object
Objek data yang berisi data yang diseret.
- allowedEffects
- DragDropEffects
Salah DragDropEffects satu nilai yang menentukan efek yang diizinkan dari operasi seret dan letakkan.
Mengembalikan
Salah DragDropEffects satu nilai yang menentukan efek akhir yang dilakukan selama operasi seret dan letakkan.
- Atribut
Pengecualian
dragSource
atau data
adalah null
.
Contoh
Contoh berikut menunjukkan cara memulai operasi seret dan letakkan dari MouseMove penanganan Ellipse aktivitas elemen untuk menjadikannya sumber seret. Data yang ditransfer adalah representasi string properti elips Fill . Data diteruskan ke DoDragDrop metode sebagai string dan secara otomatis dibungkus dalam DataObject.
private void ellipse_MouseMove(object sender, MouseEventArgs e)
{
Ellipse ellipse = sender as Ellipse;
if (ellipse != null && e.LeftButton == MouseButtonState.Pressed)
{
DragDrop.DoDragDrop( ellipse,
ellipse.Fill.ToString(),
DragDropEffects.Copy);
}
}
Private Sub Ellipse_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Input.MouseEventArgs)
Dim ellipse = TryCast(sender, Ellipse)
If ellipse IsNot Nothing AndAlso e.LeftButton = MouseButtonState.Pressed Then
DragDrop.DoDragDrop(ellipse, ellipse.Fill.ToString(), DragDropEffects.Copy)
End If
End Sub
Keterangan
Aplikasi Anda bertanggung jawab untuk menentukan kapan seret terjadi, lalu memulai operasi seret dan letakkan. Biasanya, ini adalah ketika urutan MouseDown peristiwa dan MouseMove terjadi di atas elemen yang akan diseret. Anda memulai operasi seret dan letakkan dengan memanggil metode statis DoDragDrop dan meneruskan data yang ditransfer ke dalamnya. Metode ini DoDragDrop akan secara otomatis membungkus data dalam DataObject jika perlu. Untuk kontrol yang lebih besar atas format data, Anda dapat membungkus data dalam DataObject sebelum meneruskannya ke DoDragDrop metode .
Nilai yang DoDragDrop dikembalikan dari metode adalah nilai properti yang DragEventArgs.Effects ditetapkan dalam penanganan aktivitas target Drop drop. Jika nilai yang dikembalikan tidak cocok dengan allowedEffects
salah satu yang ditentukan dalam panggilan ke DoDragDrop, operasi seret dan letakkan tidak dilakukan.