2010-12-11 4 views
3

내가 WPF에서 드래그/드롭 정비사를 구현하려는, 그러나 ...이 일을 윈도우 폼과 을 작동하지 않았다 ...C 번호 : 드래그 앤 WPF에서 드롭 (를 RichTextBox)

우선 AllowDrop을 True로 설정합니다. windows-forms에서는 이미 항목을 richtextbox로 끌고 커서를 바꿀 수 있습니다.

WPF를 사용하면 아무 일도 일어나지 않습니다.

nexT 포인트 : DragEnter 및 DragDrop 메소드를 구현하십시오. 나는 그것을 온라인 매뉴얼처럼 말한다. ... 내가 드래그/드롭에 대한 모든 자습서는 Windowsforms, WPF에 대한 아무것도 생각 (끌어서 놓기가되지 WPF에 존재 않기 때문에 확인 내가 더 뭔가를 시도했다)

이를 RichTextBox에 문제가 있습니다 ? 내가 "allowDrop"로 변경하면 아무 일도 일어나지 않습니다. 커서는 여전히 허용되지 않은 기호입니다. 사람이 자습서에서 :)

Examplecode을 도울 수

희망은 내가 읽어

richTextBox1.AllowDrop = true; 

void richTextBox1_DragEnter(object sender, DragEventArgs e) 
{ 
    e.Effect = DragDropEffects.None; 

    if (e.Data.GetDataPresent(DataFormats.XXX)) 
    { 
     e.Effect = DragDropEffects.Copy; 
    } 
} 

void richTextBox1_DragDrop(object sender, DragEventArgs e) 
{ 
    //intert in richtextbox ... 
    richTextBox1.methodeXY(); 
} 

답변

7

나는 내가 조금 플레이를했다 이유에 호기심이었고, 결국이 일을 얻었다. 기본적으로 PreviewXXX 이벤트에 바인딩하여 시작했습니다.

AllowDrop="True" PreviewDragEnter="RichTextBox_DragEnter" PreviewDragOver="RichTextBox_DragEnter" PreviewDrop="RichTextBox_Drop" 

그래도 여전히 작동하지 않았습니다. 그러나 대답은 높은 권한의 형태로 here으로 나타났습니다. 보통 관리자 권한으로 VS2010을 실행합니다. Explorer에서 일부 파일을 내 RichTextBox에 놓기 때문에 Explorer가 비 상승 된 사용자 모드에서 실행되므로 본질적으로 작업이 금지되었습니다. 비 승강 모드에서 VS2010을 실행하면 문제가 해결되었습니다. 연결된 문서는 몇 가지 해결 방법을 제시하지만 아직 시도하지는 않았습니다.