Bagikan melalui


DragDrop.DoDragDrop(DependencyObject, Object, DragDropEffects) Metode

Definisi

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.

Berlaku untuk