DragDrop.DoDragDrop(DependencyObject, Object, DragDropEffects) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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.