C# 拖放;在Silverlight应用程序中放置文件夹

C# 拖放;在Silverlight应用程序中放置文件夹,c#,silverlight,drag-and-drop,C#,Silverlight,Drag And Drop,我有一个silverlight上传控件。它可以处理文件的拖放,非常好。 用户可以将多个文件拖动到控件,控件将上载这些文件 但是,我无法将其用于文件夹。我希望能够将文件夹放到控件上,然后上载文件夹中的所有文件 我有很多问题,检测到它是一个文件夹,而不是一个文件。似乎DragEventArg的数据是FileInfo[]。我已经尝试了我能想到的一切,检查数组中的每个FileInfo。在silverlight中,我的大多数尝试似乎都是不被允许的。其余的都没有效果 这是一个内部应用程序,托管在我们的int

我有一个silverlight上传控件。它可以处理文件的拖放,非常好。 用户可以将多个文件拖动到控件,控件将上载这些文件

但是,我无法将其用于文件夹。我希望能够将文件夹放到控件上,然后上载文件夹中的所有文件

我有很多问题,检测到它是一个文件夹,而不是一个文件。似乎
DragEventArg
的数据是
FileInfo[]
。我已经尝试了我能想到的一切,检查数组中的每个
FileInfo
。在silverlight中,我的大多数尝试似乎都是不被允许的。其余的都没有效果

这是一个内部应用程序,托管在我们的intranet上


我可以解析它吗?

Silverlight不允许直接访问文件系统(提升的intranet权限和OOB模式除外)

您访问的文件是通过流而不是直接访问的。默认情况下不允许访问文件夹,但您可以将应用程序设置为Intranet上的受信任应用程序

在Silverlight 5中,受信任的应用程序具有附加功能 在以前版本的Silverlight中不可用。明确地 Silverlight 5受信任的应用程序可以执行以下操作:

无限制地访问本地文件系统

在不发生MethodAccessException的情况下访问安全关键方法。这仅适用于基于Windows的应用程序

如前所述,如果计算机和应用程序配置正确,请在浏览器内运行

在浏览器外运行时创建多个窗口


内部。这是一个内部网解决方案。您说默认情况下不允许访问文件夹。这是否意味着我可以启用它,而无需OOB?您可以使它成为Intranet上受信任的应用程序。我已经用链接更新了答案。