2011-04-20 4 views
3

어쩌면 내 질문에 nooby입니다,하지만 난 대답을 찾을 수 없습니다 ... 난 WPF에서 드래그 & 드롭 응용 프로그램이WPF의 드래그 앤 드롭 및 데이터 유형

... 나는 인터페이스를 구축 그리고 난 삭제 된 개체의 유형을 얻을 특정 구조체/목록 또는 무엇에 추가, 난 내 디자이너 영역에서 항목을 삭제할 때

내가해야 할 일을

이입니다 ... 을 기능을 추가 할 ...

어떻게 할 수 있습니까? 감사합니다. g 0123.

답변

7

당신은 드래그 (다른 응용 프로그램에서 드래그하지 않는)는 유형이 무엇인지 당신에게 달려의 시작을 제어 가정 : 여기에 예를 들어 파일 드롭입니다. 소스 코드와 목적지 코드가 일치하도록하십시오. 드래그 (일반적으로 MouseMove 또는 MouseDown 핸들러) :

 var dragData = new DataObject(typeof(JobViewModel), job); 
     DragDrop.DoDragDrop(element, dragData, DragDropEffects.Move); 

드래그를 시작합니다. 그리고 나서 방울이 들려오는 것 같습니다.

 var dataObj = e.Data as DataObject; 
     var dragged = dataObj.GetData(typeof(JobViewModel)) as JobViewModel; 

유형 대신 문자열을 사용할 수도 있습니다.

1

컨트롤의 AllowDrop 속성을 true로 설정하기 만하면됩니다. 그리고 Drop 이벤트를 구현하십시오. 이벤트 인수의 h 제 정보에 액세스 할 수 있습니다.

GetData 부분의 경우이 항목을 사용하여 특정 데이터 형식을 가져올 수 있습니다.

string[] fileNames = (string[])e.Data.GetData(DataFormats.FileDrop, true); 

감사합니다,

+0

나는 이것까지 갔다 !! :) 내 문제는'OnDrop (DragEventArgs e)'에서 데이터 형식을 얻는 방법입니다 ... getData를 사용합니까? 어떤 타입? 만약 내가 내 개체의 유형을 사용하면 null이됩니다 ... 당신의 도움에 감사드립니다 !!! – geo

+0

나는 내 대답을 업데이 트했습니다, 그것이 도움이되기를 바랍니다. – Howard