2017-09-11 14 views
0

私は、WPFアプリケーションからファイルをドラッグする方法を説明するサンプルがたくさんあります。ユーザーがリストボックス項目をドラッグしようとすると、アプリから.txtまたは.csvファイルをエクスポートするだけで済みます。WPF Appからファイルをドラッグ

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); 
関連する問題