DragDrop.DoDragDrop(DependencyObject, Object, DragDropEffects) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Leitet einen Drag & Drop-Vorgang ein.
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
Ein Verweis auf das Abhängigkeitsobjekt, das die Quelle der gezogenen Daten darstellt.
- data
- Object
Ein Datenobjekt, das die gezogenen Daten enthält.
- allowedEffects
- DragDropEffects
Einer der DragDropEffects-Enumerationswerte, der die zulässigen Auswirkungen des Drag & Drop-Vorgangs angibt.
Gibt zurück
Einer der DragDropEffects-Werte, der das spezifische Ergebnis des Drag & Drop-Vorgangs darstellt.
- Attribute
Ausnahmen
dragSource
oder data
ist null
.
Beispiele
Im folgenden Beispiel ist zu sehen, wie ein Drag & Drop-Vorgang vom MouseMove-Ereignishandler eines Ellipse-Elements eingeleitet wird, um es zu einer Ziehquelle zu machen. Die übertragenen Daten sind die Zeichenfolgendarstellung der Eigenschaft der Ellipse Fill . Die Daten werden als Zeichenfolge an die DoDragDrop -Methode übergeben und automatisch in einen DataObjectumschlossen.
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
Hinweise
Es liegt in der Verantwortung Ihrer Anwendung, zu bestimmen, wann ein Ziehen auftritt, und dann den Drag-and-Drop-Vorgang zu initiieren. Dies ist in der Regel der Fall, wenn eine MouseDown Und-Abfolge MouseMove von Ereignissen über dem zu ziehenden Element auftritt. Sie initiieren den Drag-and-Drop-Vorgang, indem Sie die statische DoDragDrop Methode aufrufen und die übertragenen Daten an sie übergeben. Die DoDragDrop-Methode umschließt die Daten ggf. automatisch in einem DataObject. Um mehr Kontrolle über das Datenformat zu erhalten, können Sie die Daten vor der Übergabe an die DataObject-Methode mit einem DoDragDrop umschließen.
Der von der DoDragDrop -Methode zurückgegebene Wert ist der Wert der Eigenschaft, die DragEventArgs.Effects im Ereignishandler des Ablageziels Drop festgelegt ist. Wenn der Rückgabewert nicht mit einem der im Aufruf DoDragDropvon allowedEffects
angegebenen übereinstimmt, wird der Drag-and-Drop-Vorgang nicht ausgeführt.