DragDrop.DoDragDrop(DependencyObject, Object, DragDropEffects) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Avvia un'operazione di trascinamento della selezione.
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
Parametri
- dragSource
- DependencyObject
Riferimento all'oggetto dipendenza che rappresenta l'origine dei dati trascinati.
- data
- Object
Oggetto dati che contiene i dati trascinati.
- allowedEffects
- DragDropEffects
Uno dei DragDropEffects valori che specifica gli effetti consentiti dell'operazione di trascinamento della selezione.
Restituisce
Uno dei DragDropEffects valori che specifica l'effetto finale eseguito durante l'operazione di trascinamento della selezione.
- Attributi
Eccezioni
dragSource o data è null.
Esempio
Nell'esempio seguente viene illustrato come avviare un'operazione di trascinamento della selezione dal MouseMove gestore eventi di un Ellipse elemento per renderla un'origine di trascinamento. I dati trasferiti sono la rappresentazione di stringa della proprietà dell'ellisse Fill . I dati vengono passati al DoDragDrop metodo come stringa e vengono inseriti automaticamente in un oggetto 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
Commenti
È responsabilità dell'applicazione determinare quando si verifica un trascinamento e quindi avviare l'operazione di trascinamento della selezione. In genere, si tratta di quando si verifica una MouseDown sequenza di eventi e MouseMove sull'elemento da trascinare. Si avvia l'operazione di trascinamento della selezione chiamando il metodo statico DoDragDrop e passando i dati trasferiti. Se necessario, il DoDragDrop metodo eseguirà automaticamente il wrapping dei dati in .DataObject Per un maggiore controllo sul formato dei dati, è possibile eseguire il wrapping dei dati in un DataObject oggetto prima di passarli al DoDragDrop metodo .
Il valore restituito dal DoDragDrop metodo è il valore della DragEventArgs.Effects proprietà impostata nel gestore eventi della destinazione di Drop rilascio. Se il valore restituito non corrisponde a uno degli allowedEffects oggetti specificati nella chiamata a DoDragDrop, l'operazione di trascinamento della selezione non viene eseguita.