DragDrop.DoDragDrop(DependencyObject, Object, DragDropEffects) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Inicjuje operację przeciągania i upuszczania.
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
Parametry
- dragSource
- DependencyObject
Odwołanie do obiektu zależności, który jest źródłem przeciąganych danych.
- data
- Object
Obiekt danych zawierający przeciągane dane.
- allowedEffects
- DragDropEffects
DragDropEffects Jedna z wartości określających dozwolone skutki operacji przeciągania i upuszczania.
Zwraca
DragDropEffects Jedna z wartości określających ostateczny efekt, który został wykonany podczas operacji przeciągania i upuszczania.
- Atrybuty
Wyjątki
dragSource
lub data
ma wartość null
.
Przykłady
W poniższym przykładzie pokazano, jak zainicjować operację przeciągania i upuszczania z MouseMove procedury obsługi Ellipse zdarzeń elementu, aby uczynić ją źródłem przeciągania. Przesłane dane są reprezentacją ciągu właściwości wielokropka Fill . Dane są przekazywane do DoDragDrop metody jako ciąg i są automatycznie opakowane w obiekcie 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
Uwagi
Aplikacja odpowiada za określenie, kiedy występuje przeciąganie, a następnie zainicjowanie operacji przeciągania i upuszczania. Zazwyczaj jest to sytuacja, gdy element , MouseMove który ma być przeciągany, następuje MouseDown sekwencja zdarzeń i. Operację przeciągania i upuszczania należy zainicjować, wywołując metodę statyczną DoDragDrop i przekazując do niej przesłane dane. Metoda DoDragDrop automatycznie opakowuje dane w DataObject razie potrzeby. Aby uzyskać większą kontrolę nad formatem danych, możesz opakować dane w obiekcie DataObject przed przekazaniem ich do DoDragDrop metody .
Wartość zwrócona z DoDragDrop metody jest wartością DragEventArgs.Effects właściwości ustawionej w procedurze obsługi zdarzeń obiektu docelowego Drop drop. Jeśli wartość zwracana nie jest zgodna z jedną z allowedEffects
wartości określonych w wywołaniu metody , DoDragDropoperacja przeciągania i upuszczania nie jest wykonywana.