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 do tipo "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 para o objeto de dependência que é a origem dos dados sendo arrastados.
- data
- Object
Um objeto de dados que contém os dados sendo arrastados.
- allowedEffects
- DragDropEffects
Um dos valores DragDropEffects que especificam os efeitos permitidos da operação do tipo "arrastar e soltar".
Retornos
Um dos valores DragDropEffects que especificam o efeito final que foi executado durante a operação do tipo "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á-lo uma fonte de arrastar. Os dados transferidos são a representação de cadeia de caracteres da propriedade da Fill elipse. Os dados são passados para o DoDragDrop método como uma cadeia de caracteres e são encapsulados automaticamente 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 uma MouseDown sequência e MouseMove 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 soltar. Se o valor retornado não corresponder a um dos allowedEffects
especificados na chamada para DoDragDrop, a operação de arrastar e soltar não será executada.