Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从WPF应用程序中拖动文件_C#_Wpf_Drag And Drop_Drag - Fatal编程技术网

C# 从WPF应用程序中拖动文件

C# 从WPF应用程序中拖动文件,c#,wpf,drag-and-drop,drag,C#,Wpf,Drag And Drop,Drag,我发现很多示例描述了如何从WPF应用程序中拖动文件。当用户尝试拖动列表框项目时,我只需要从我的应用程序中导出.txt或.csv文件 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

我发现很多示例描述了如何从WPF应用程序中拖动文件。当用户尝试拖动列表框项目时,我只需要从我的应用程序中导出.txt或.csv文件

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();

但如果我在桌面上发布,则不会复制任何文件。有什么问题吗?

文件删除不起作用的原因是您没有提供此剪贴板格式所需的文件路径列表。要解决这个问题

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);