DragDrop.DoDragDrop(DependencyObject, Object, DragDropEffects) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Inicia uma operação de arrastar e soltar.
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
Uma referência ao objeto de dependência que é a fonte dos dados que estão sendo arrastados.
- data
- Object
Um objeto de dados que contém os dados que estão sendo arrastados.
- allowedEffects
- DragDropEffects
Um dos valores que especifica os DragDropEffects efeitos permitidos da operação de arrastar e soltar.
Retornos
Um dos DragDropEffects valores que especifica o efeito final que foi executado durante a operação de arrastar e soltar.
- Atributos
Exceções
dragSource ou data é null.
Exemplos
O exemplo a seguir mostra como iniciar uma operação de arrastar e soltar do MouseMove manipulador de eventos de um Ellipse elemento para torná-la uma fonte de arrastar. Os dados transferidos são a representação de cadeia de caracteres da propriedade da reticências Fill . Os dados são passados para o DoDragDrop método como uma cadeia de caracteres e são automaticamente encapsulados em um 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
Comentários
É responsabilidade do seu aplicativo determinar quando ocorre um arrastar e, em seguida, iniciar a operação de arrastar e soltar. Normalmente, é quando ocorre um e MouseMove uma MouseDown sequência de eventos sobre o elemento a ser arrastado. Você inicia a operação de arrastar e soltar chamando o método estático DoDragDrop e passando os dados transferidos para ele. O DoDragDrop método encapsulará automaticamente os dados em um, DataObject se necessário. Para obter maior controle sobre o formato de dados, você pode encapsular os dados em um DataObject antes de passá-los para o DoDragDrop método.
O valor retornado do DoDragDrop método é o valor da DragEventArgs.Effects propriedade definida no manipulador de eventos do destino de Drop descarte. Se o valor retornado não corresponder a allowedEffects um dos especificados na chamada, DoDragDropa operação de arrastar e soltar não será executada.