DragDrop.DoDragDrop(DependencyObject, Object, DragDropEffects) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Inicia una operación de arrastrar y colocar.
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
Parámetros
- dragSource
- DependencyObject
Referencia al objeto de dependencia que es el origen de los datos que se arrastran.
- data
- Object
Objeto de datos que contiene los datos que se arrastran.
- allowedEffects
- DragDropEffects
Uno de los valores de DragDropEffects que especifica los efectos permitidos de la operación de arrastrar y colocar.
Devoluciones
Uno de los valores de DragDropEffects que especifica el efecto final obtenido durante la operación de arrastrar y colocar.
- Atributos
Excepciones
dragSource
o data
es null
.
Ejemplos
En el ejemplo siguiente se muestra cómo iniciar una operación de arrastrar y colocar desde el controlador de eventos MouseMove de un elemento Ellipse para convertirlo en un origen de arrastre. Los datos transferidos son la representación de cadena de la propiedad de Fill la elipse. Los datos se pasan al DoDragDrop método como una cadena y se encapsulan automáticamente 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
Comentarios
Es responsabilidad de la aplicación determinar cuándo se produce una arrastre y, a continuación, iniciar la operación de arrastrar y colocar. Normalmente, esto es cuando se produce una MouseDown secuencia de eventos y MouseMove sobre el elemento que se va a arrastrar. Inicie la operación de arrastrar y colocar llamando al método estático DoDragDrop y pasando los datos transferidos a él. El método DoDragDrop ajustará automáticamente los datos en un DataObject, si es necesario. Para un mayor control del formato de datos, puede ajustar los datos en un DataObject antes de pasarlos al método DoDragDrop.
El valor devuelto por el DoDragDrop método es el valor de la DragEventArgs.Effects propiedad establecida en el controlador de eventos del destino de Drop colocación. Si el valor devuelto no coincide con uno de los allowedEffects
especificados en la llamada a DoDragDrop, no se realiza la operación de arrastrar y colocar.