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 etkiyi 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 getirilip getirileyği 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
Bir 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 dizisi gerçekleştiğinde budur. 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 verileri otomatik olarak bir DataObject içinde sarmalar. Veri biçimi üzerinde daha fazla denetim için, yöntemine geçirmeden önce verileri bir DataObject içinde DoDragDrop 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.