DragDrop.DoDragDrop(DependencyObject, Object, DragDropEffects) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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.