Silverlight 4中的档案拖曳支持

本文介绍Silverlight4中针对拖曳行为的增强功能,包括如何允许对象接收并处理从桌面或文件总管拖曳的实体档案。通过设置AllowDrop属性,开发者可以在用户界面上实现更丰富的交互体验,如直接在Silverlight应用内打开拖曳进来的文本文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

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

如此一来,该对象将被允许接收拖曳的档案,也就是说,您可以从桌面、档案总管等位置,把一个或多个档案拖曳到刚才你指定AllowDrop为True的Silverlight对象上:

这样还不够,这只是将控件设定为可以接受档案而已,当档案被拖曳到对象上之后,我们还需要去开启它,并且透过程序代码来做一些额外的处理,例如开文件、显示…等动作。
我们可以在控件的Drop事件中来处理档案的开启与读取动作:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值