Aracılığıyla paylaş


DragDrop.DoDragDrop(DependencyObject, Object, DragDropEffects) Yöntem

Tanım

Sürükle ve bırak işlemini başlatır.

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

Parametreler

dragSource
DependencyObject

Sürüklenen verilerin kaynağı olan bağımlılık nesnesine başvuru.

data
Object

Sürüklenen verileri içeren bir veri nesnesi.

allowedEffects
DragDropEffects

Sürükle ve bırak işleminin DragDropEffects izin verilen etkilerini belirten değerlerden biri.

Döndürülenler

DragDropEffects Sürükle ve bırak işlemi sırasında gerçekleştirilen son efekti belirten değerlerden biri.

Öznitelikler

Özel durumlar

dragSource veya data şeklindedir null.

Örnekler

Aşağıdaki örnekte, bir öğenin olay işleyicisinden MouseMoveEllipse sürükleyip bırakma işleminin nasıl başlatılıp sürüklenme kaynağı haline getirilerek nasıl başlatıldığı gösterilmektedir. Aktarılan veriler, üç nokta Fill özelliğinin dize gösterimidir. Veriler yöntemine DoDragDrop dize olarak geçirilir ve otomatik olarak içine DataObjectsarmalanır.

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

Açıklamalar

Sürüklemenin ne zaman gerçekleşeceğini belirlemek ve ardından sürükleyip bırakma işlemini başlatmak uygulamanızın sorumluluğundadır. Genellikle, sürüklenecek öğe üzerinde bir MouseDown ve MouseMove olay dizisinin gerçekleştiği durumdur. Statik DoDragDrop yöntemi çağırarak ve aktarılan verileri ona geçirerek sürükle ve bırak işlemini başlatırsınız. DoDragDrop yöntemi, gerekirse otomatik olarak içindeki verileri DataObject sarmalar. Veri biçimi üzerinde daha fazla denetim için, yöntemine geçirmeden DoDragDrop önce verileri bir DataObject içinde sarmalayabilirsiniz.

yönteminden DoDragDrop döndürülen değer, bırakma hedefinin DragEventArgs.EffectsDrop olay işleyicisinde ayarlanan özellik değeridir. Dönüş değeri çağrısında DoDragDropbelirtilen değerlerden biriyle allowedEffects eşleşmiyorsa, sürükle ve bırak işlemi gerçekleştirilmez.

Şunlara uygulanır