DragDrop.DoDragDrop(DependencyObject, Object, DragDropEffects) Méthode

Définition

Démarre une opération de glisser-déplacer.

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

Paramètres

dragSource
DependencyObject

Référence à l'objet de dépendance qui est la source des données glissées.

data
Object

Objet de données qui contient les données glissées.

allowedEffects
DragDropEffects

L'une des valeurs DragDropEffects qui spécifie les effets autorisés de l'opération de glisser-déplacer.

Retours

L'une des valeurs DragDropEffects qui spécifie l'effet final effectué obtenu pendant l'opération de glisser-déplacer.

Attributs

Exceptions

dragSource ou data est null.

Exemples

L’exemple suivant montre comment initier une opération de glisser-déposer à partir du gestionnaire d’événements MouseMove d’un élément Ellipse pour faire de ce dernier la source de glissement. Les données transférées sont la représentation sous forme de chaîne de la propriété de l’ellipse Fill . Les données sont transmises à la DoDragDrop méthode sous forme de chaîne et sont automatiquement encapsulées dans un 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

Remarques

Il incombe à votre application de déterminer quand un glisser-déplacer se produit, puis de lancer l’opération de glisser-déplacer. En règle générale, c’est lorsqu’une MouseDown séquence d’événements et MouseMove se produit sur l’élément à faire glisser. Vous lancez l’opération de glisser-déplacer en appelant la méthode statique DoDragDrop et en lui transmettant les données transférées. La méthode DoDragDrop inclut automatiquement les données d'un DataObject dans un wrapper, si nécessaire. Pour mieux contrôler le format de données, vous pouvez inclure les données d'un DataObject dans un wrapper avant de les passer à la méthode DoDragDrop.

La valeur retournée par la DoDragDrop méthode est la valeur de la DragEventArgs.Effects propriété définie dans le gestionnaire d’événements de la cible de Drop suppression. Si la valeur de retour ne correspond pas à l’un allowedEffects des spécifiés dans l’appel à DoDragDrop, l’opération de glisser-déplacer n’est pas effectuée.

S’applique à