DragDrop.DoDragDrop(DependencyObject, Object, DragDropEffects) Methode

Definition

Leitet einen Drag & Drop-Vorgang ein.Initiates a drag-and-drop operation.

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);
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.A reference to the dependency object that is the source of the data being dragged.

data
Object

Ein Datenobjekt, das die gezogenen Daten enthält.A data object that contains the data being dragged.

allowedEffects
DragDropEffects

Einer der DragDropEffects-Enumerationswerte, der die zulässigen Auswirkungen des Drag & Drop-Vorgangs angibt.One of the DragDropEffects values that specifies permitted effects of the drag-and-drop operation.

Gibt zurück

Einer der DragDropEffects-Werte, der das spezifische Ergebnis des Drag & Drop-Vorgangs darstellt.One of the DragDropEffects values that specifies the final effect that was performed during the drag-and-drop operation.

Attribute

Ausnahmen

dragSource oder data ist null.dragSource or data is 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.The following example shows how to initiate a drag-and-drop operation from the MouseMove event handler of an Ellipse element to make it a drag source. Die übertragenen Daten sind die Zeichen folgen Darstellung der Fill-Eigenschaft der Ellipse.The transferred data is the string representation of the ellipse's Fill property. Die Daten werden als Zeichenfolge an die DoDragDrop-Methode und automatisch in eine DataObject umschließt.The data is passed to the DoDragDrop method as a string and is automatically wrapped in a 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

Hinweise

Es liegt in der Verantwortung der Anwendung, zu bestimmen, wann ein Drag & amp; Drop ausgeführt wird, und initiieren Sie dann den Drag & Drop-Vorgang.It is the responsibility of your application to determine when a drag occurs, and then initiate the drag-and-drop operation. Dies ist in der Regel der Fall, wenn eine MouseDown-und MouseMove-Sequenz von Ereignissen über dem Element auftritt, das gezogen werden soll.Typically, this is when a MouseDown and MouseMove sequence of events occurs over the element to be dragged. Sie initiieren den Drag & Drop-Vorgang, indem Sie die statische DoDragDrop-Methode aufrufen und die übertragenen Daten an ihn übergeben.You initiate the drag-and-drop operation by calling the static DoDragDrop method and passing the transferred data to it. Die DoDragDrop-Methode umschließt die Daten ggf. automatisch in einem DataObject.The DoDragDrop method will automatically wrap the data in a DataObject if necessary. 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.For greater control over the data format, you can wrap the data in a DataObject before passing it to the DoDragDrop method.

Der Wert, der von der DoDragDrop-Methode zurückgegeben wird, ist der Wert der Eigenschaft DragEventArgs.Effects, der im Drop-Ereignishandler des Drop Target festgelegt ist.The value returned from the DoDragDrop method is the value of the DragEventArgs.Effects property set in the drop target's Drop event handler. Wenn der Rückgabewert nicht mit einem der im-Befehl DoDragDrop angegebenen allowedEffects-Wert identisch ist, wird der Drag & Drop-Vorgang nicht ausgeführt.If the return value does not match one of the allowedEffects specified in the call to DoDragDrop, the drag-and-drop operation is not performed.

Gilt für: