Silverlight和桌面拖放
在silverlight中,是否能够将文件从桌面拖放到浏览器中?我似乎记得在Silverlight3中看到了一些关于它的特性 我最近对此进行了研究,根据以下线程中Silverlight MVP的帖子,Silverlight 3不支持文件系统拖放 Silverlight 4现在似乎支持以下功能:Silverlight和桌面拖放,silverlight,silverlight-3.0,Silverlight,Silverlight 3.0,在silverlight中,是否能够将文件从桌面拖放到浏览器中?我似乎记得在Silverlight3中看到了一些关于它的特性 我最近对此进行了研究,根据以下线程中Silverlight MVP的帖子,Silverlight 3不支持文件系统拖放 Silverlight 4现在似乎支持以下功能: 您可以在silverlight 4及更高版本的应用程序中从桌面拖放。选中silverlight项目属性中的“需要提升权限”,并使用silverlight datagrid的drop事件,可以在silve
您可以在silverlight 4及更高版本的应用程序中从桌面拖放。选中silverlight项目属性中的“需要提升权限”,并使用silverlight datagrid的drop事件,可以在silverlight datagrid中处理从桌面进行的拖放
private void DocumentsDrop(object sender, DragEventArgs e)
{
e.Handled = true;
var point = e.GetPosition(null);
var dataGridRow = ExtractDataGridRow(point);
if(dataGridRow !=null)
{.....
}
var droppedItems = e.Data.GetData(DataFormats.FileDrop) as FileInfo[];
if (droppedItems != null)
{
var droppedDocumentsList = new List<FileInfo>();
foreach (var droppedItem in droppedItems)
{
if ((droppedItem.Attributes & FileAttributes.Directory) == FileAttributes.Directory)
{
var directory = new DirectoryInfo(droppedItem.FullName);
droppedDocumentsList.AddRange(directory.EnumerateFiles("*", SearchOption.AllDirectories));
}
else
{
droppedDocumentsList.Add(droppedItem);
}
}
if (droppedDocumentsList.Any())
{
ProcessFiles(droppedDocumentsList);
}
else
{
DisplayErrorMessage("The selected folder is empty.");
}
}
}
private void DocumentsDrop(对象发送方,DragEventArgs e)
{
e、 已处理=正确;
var点=e.GetPosition(空);
var dataGridRow=提取dataGridRow(点);
if(dataGridRow!=null)
{.....
}
var droppedItems=e.Data.GetData(DataFormats.FileDrop)作为FileInfo[];
if(droppedItems!=null)
{
var droppedDocumentsList=新列表();
foreach(droppedItem中的var droppedItem)
{
if((droppedItem.Attributes&FileAttributes.Directory)==FileAttributes.Directory)
{
var directory=newdirectoryinfo(droppedItem.FullName);
droppedDocumentsList.AddRange(directory.EnumerateFiles(“*”,SearchOption.AllDirectory));
}
其他的
{
droppedDocumentsList.Add(droppedItem);
}
}
if(droppedDocumentsList.Any())
{
处理文件(droppedDocumentsList);
}
其他的
{
DisplayErrorMessage(“所选文件夹为空”);
}
}
}
设置AllowDrop=true;在数据网格的xaml中。从DragEventArgs中,将信息提取为FileInfo对象。
我不确定是否可以使用Silverlight 3应用程序Bah,我已经浪费了整个骑车回家的时间来规划一个很酷的应用程序。感谢此功能现已在Silverlight 4中提供: