DragDrop.DoDragDrop(DependencyObject, Object, DragDropEffects) Methode

Definitie

Hiermee wordt een bewerking voor slepen en neerzetten gestart.

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

Parameters

dragSource
DependencyObject

Een verwijzing naar het afhankelijkheidsobject dat de bron is van de gegevens die worden gesleept.

data
Object

Een gegevensobject dat de gegevens bevat die worden gesleept.

allowedEffects
DragDropEffects

Een van de DragDropEffects waarden die toegestane effecten van de bewerking slepen en neerzetten specificeert.

Retouren

Een van de DragDropEffects waarden die het uiteindelijke effect aangeeft dat is uitgevoerd tijdens de bewerking slepen en neerzetten.

Kenmerken

Uitzonderingen

dragSource of data is null.

Voorbeelden

In het volgende voorbeeld ziet u hoe u een slepen-en-neerzetten-bewerking start vanuit de MouseMove gebeurtenis-handler van een Ellipse element om er een sleepbron van te maken. De overgedragen gegevens zijn de tekenreeksweergave van de eigenschap van Fill het beletselteken. De gegevens worden als een tekenreeks doorgegeven aan de DoDragDrop methode en worden automatisch verpakt in een 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

Opmerkingen

Het is de verantwoordelijkheid van uw toepassing om te bepalen wanneer er een slepen plaatsvindt en start vervolgens de bewerking slepen en neerzetten. Dit is meestal wanneer een MouseDown en MouseMove reeks gebeurtenissen plaatsvindt over het element dat moet worden gesleept. U initieert de bewerking slepen en neerzetten door de statische DoDragDrop methode aan te roepen en de overgedragen gegevens eraan door te geven. De DoDragDrop methode verpakt de gegevens automatisch in een DataObject indien nodig. Voor meer controle over de gegevensindeling kunt u de gegevens in een DataObject verpakken voordat u deze doorgeeft aan de DoDragDrop methode.

De waarde die door de DoDragDrop methode wordt geretourneerd, is de waarde van de DragEventArgs.Effects eigenschap die is ingesteld in de gebeurtenis-handler van Drop het neervaldoel. Als de retourwaarde niet overeenkomt met een van de allowedEffects opgegeven waarden in de aanroep, DoDragDropwordt de bewerking slepen en neerzetten niet uitgevoerd.

Van toepassing op