DragDrop.DoDragDrop(DependencyObject, Object, DragDropEffects) 메서드

정의

끌어서 놓기 작업을 시작합니다.Initiates a drag-and-drop operation.

public:
 static System::Windows::DragDropEffects DoDragDrop(System::Windows::DependencyObject ^ dragSource, System::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]
public static System.Windows.DragDropEffects DoDragDrop (System.Windows.DependencyObject dragSource, object data, System.Windows.DragDropEffects allowedEffects);
static member DoDragDrop : System.Windows.DependencyObject * obj * System.Windows.DragDropEffects -> System.Windows.DragDropEffects
[<System.Security.SecurityCritical>]
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

매개 변수

dragSource
DependencyObject

끌어서 놓을 데이터의 소스인 종속성 개체에 대한 참조입니다.A reference to the dependency object that is the source of the data being dragged.

data
Object

끌어서 놓을 데이터가 들어 있는 데이터 개체입니다.A data object that contains the data being dragged.

allowedEffects
DragDropEffects

끌어서 놓기 작업에 허용되는 효과를 지정하는 DragDropEffects 값 중 하나입니다.One of the DragDropEffects values that specifies permitted effects of the drag-and-drop operation.

반환

DragDropEffects

끌어서 놓기 작업 동안 수행된 마지막 효과를 지정하는 DragDropEffects 값 중 하나입니다.One of the DragDropEffects values that specifies the final effect that was performed during the drag-and-drop operation.

특성

예외

dragSource 또는 datanull인 경우dragSource or data is null.

예제

다음 예제에서는 요소의 이벤트 처리기에서 끌어서 놓기 작업을 시작 하 여 MouseMove 끌기 소스로 만드는 방법을 보여 줍니다 Ellipse .The following example shows how to initiate a drag-and-drop operation from the MouseMove event handler of an Ellipse element to make it a drag source. 전송 된 데이터는 타원의 속성에 대 한 문자열 표현입니다 Fill .The transferred data is the string representation of the ellipse's Fill property. 데이터는 메서드에 문자열로 전달 되며 DoDragDrop 에서 자동으로 래핑됩니다 DataObject .The data is passed to the DoDragDrop method as a string and is automatically wrapped in a 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

설명

끌기가 발생 하는 시점을 확인 한 다음 끌어서 놓기 작업을 시작 하려면 애플리케이션의 담당 합니다.It is the responsibility of your application to determine when a drag occurs, and then initiate the drag-and-drop operation. 일반적으로이는 MouseDown MouseMove 끌어 오는 요소에 대해 및 이벤트 시퀀스가 발생 하는 경우입니다.Typically, this is when a MouseDown and MouseMove sequence of events occurs over the element to be dragged. 정적 메서드를 호출 하 DoDragDrop 고 전송 된 데이터를 전달 하 여 끌어서 놓기 작업을 시작 합니다.You initiate the drag-and-drop operation by calling the static DoDragDrop method and passing the transferred data to it. DoDragDrop 메서드는 필요한 경우 데이터를 자동으로에 래핑합니다 DataObject .The DoDragDrop method will automatically wrap the data in a DataObject if necessary. 데이터 형식을 보다 효율적으로 제어 하기 위해 데이터를 DataObject 메서드에 전달 하기 전에에 래핑할 수 있습니다 DoDragDrop .For greater control over the data format, you can wrap the data in a DataObject before passing it to the DoDragDrop method.

메서드에서 반환 되는 값은 DoDragDrop DragEventArgs.Effects 놓기 대상의 이벤트 처리기에 설정 된 속성의 값입니다 Drop .The value returned from the DoDragDrop method is the value of the DragEventArgs.Effects property set in the drop target's Drop event handler. 반환 값이에 대 한 호출에 지정 된 중 하 나와 일치 하지 않으면 allowedEffects DoDragDrop 끌어서 놓기 작업이 수행 되지 않습니다.If the return value does not match one of the allowedEffects specified in the call to DoDragDrop, the drag-and-drop operation is not performed.

적용 대상