DragDrop.DoDragDrop(DependencyObject, Object, DragDropEffects) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Initierar en dra och släpp-åtgärd.
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
Parametrar
- dragSource
- DependencyObject
En referens till beroendeobjektet som är källan till de data som dras.
- data
- Object
Ett dataobjekt som innehåller de data som dras.
- allowedEffects
- DragDropEffects
Ett av de DragDropEffects värden som anger tillåtna effekter av dra och släpp-åtgärden.
Returer
Ett av de DragDropEffects värden som anger den slutliga effekten som utfördes under dra och släpp-åtgärden.
- Attribut
Undantag
dragSource eller data är null.
Exempel
I följande exempel visas hur du initierar en dra och släpp-åtgärd från MouseMove händelsehanteraren för ett Ellipse element för att göra det till en dragkälla. De överförda data är strängrepresentationen av ellipsens Fill egenskap. Data skickas till DoDragDrop metoden som en sträng och omsluts automatiskt i en 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
Kommentarer
Det är ditt programs ansvar att avgöra när en dra inträffar och sedan initiera dra och släpp-åtgärden. Det här är vanligtvis när en MouseDown sekvens med MouseMove händelser inträffar över elementet som ska dras. Du initierar dra och släpp-åtgärden genom att anropa den statiska DoDragDrop metoden och skicka de överförda data till den. Metoden DoDragDrop omsluter automatiskt data i en DataObject om det behövs. Om du vill ha större kontroll över dataformatet kan du omsluta data i en DataObject innan du DoDragDrop skickar dem till metoden.
Värdet som returneras från DoDragDrop metoden är värdet för egenskapen DragEventArgs.Effects som anges i släppmålets Drop händelsehanterare. Om returvärdet inte matchar något av de allowedEffects angivna i anropet till DoDragDroputförs inte dra och släpp-åtgärden.