2017-09-11 4 views
0

WPF 앱에서 파일을 드래그하는 방법을 설명하는 샘플이 많이 있습니다. 사용자가 드래그 목록 상자 항목을 시도 할 때 내 응용 프로그램에서 .txt 또는 .csv 파일을 내 보내면됩니다.WPF 앱에서 파일 드래그

var filestream = File.Create(@"C:\Users\myuser\Documents\test.txt"); 
var barray = Encoding.Unicode.GetBytes("Some text"); 
filestream.Write(barray, 0, barray.Length); 
//filestream.Close(); 
DataObject data = new DataObject(DataFormats.FileDrop, filestream); 
DragDrop.DoDragDrop(this, data, DragDropEffects.Copy); 
//filestream.Close(); 

그러나 데스크톱에서 파일을 복사해도 파일이 복사되지 않습니다. 뭐가 잘못 되었 니?

답변

2

파일 삭제가 작동하지 않는 이유는이 클립 보드 형식의 요구 사항 인 파일 경로 목록을 제공하지 않기 때문입니다. 이 문제를 해결하려면 ...

var filename = @"C:\Users\myuser\Documents\test.txt" 
var filenames = new string[] { filename }; 
var filestream = File.Create(filename); 
var barray = Encoding.Unicode.GetBytes("Some text"); 
filestream.Write(barray, 0, barray.Length); 
filestream.Close(); 

DataObject data = new DataObject(DataFormats.FileDrop, filenames); 
DragDrop.DoDragDrop(this, data, DragDropEffects.Copy);