Silverlight 4中的档案拖曳支持_开发工具_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 开发工具 > Silverlight 4中的档案拖曳支持

Silverlight 4中的档案拖曳支持

 2010/11/1 11:19:41    程序员俱乐部  我要评论(0)
  • 摘要:在Silverlight4当中,针对拖曳的行为也有相当令人激赏的增强,这同时也让Silverlight中OOB应用程序所能达成的效果又向传统的WindowsForm应用程序逼近了一大步。过去我们已经可以透过程序代码在Silverlight应用程序的画面中让对象(element)们被拖曳,现在在Silverlight4当中,我们甚至可以把实体档案拖曳到浏览器上正在执行的Silverlight应用程序中。Silverlight4当中,针对所有的UIElement对象
  • 标签:Silverlight 档案拖曳

在Silverlight 4当中,针对拖曳的行为也有相当令人激赏的增强,这同时也让Silverlight中OOB应用程序所能达成的效果又向传统的WindowsForm应用程序逼近了一大步。

过去我们已经可以透过程序代码在Silverlight应用程序的画面中让对象(element)们被拖曳,现在在Silverlight 4当中,我们甚至可以把实体档案拖曳到浏览器上正在执行的Silverlight应用程序中。

Silverlight 4当中,针对所有的UIElement对象,增加了一个AllowDrop属性,您可以直接将其设定为True:

如此一来,该对象将被允许接收拖曳的档案,也就是说,您可以从桌面、档案总管等位置,把一个或多个档案拖曳到刚才你指定AllowDrop为True的Silverlight对象上:
logspot.com/_RnPgsDyRc2Y/S6XnGqgiVhI/AAAAAAAAAeY/sguCDRL6QUA/s320/P4001.jpg" border="0" alt="" />
这样还不够,这只是将控件设定为可以接受档案而已,当档案被拖曳到对象上之后,我们还需要去开启它,并且透过程序代码来做一些额外的处理,例如开文件、显示…等动作。 我们可以在控件的Drop事件中来处理档案的开启与读取动作:

在上面的程序代码中,你会看到我们我们透过Drag事件的参数『e.Data』可以取得档案对象,由于对象可能是个档案集合(用户一次拖曳了多个档案),因此我们将其转为System.IO.FileInfo[]型别,接着透过foreach取得对象内容即可,上面的范例可以在TextBox中显示用户拖曳到画面上的文本文件(不过需要注意其编码,上面的范例支持Unicode格式的文檔。
发表评论
用户名: 匿名