Silverlight4和之前版本相比最大的进步就是支持文件拖拽,在4之前的版本要实现文件拖拽是需要很多繁杂代码的,而现在仅仅需要几行代码便可以实现Silverlight的文件拖拽,下面就是具体的实现代码
Xaml文件很简单,直接放了一个ListBox。
<Grid x:Name="LayoutRoot" Background="White">
<ListBox x:Name="DropTargetListBox" AllowDrop="True" Drop="OnDropTargetListBoxDrop" Margin="0"/>
</Grid>
AllowDrop一定要设为True。
cs:
private void OnDropTargetListBoxDrop(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
{
FileInfo[] files = (FileInfo[])e.Data.GetData(DataFormats.FileDrop);
foreach (var item in files)
{
(sender as ListBox).Items.Add(item.Name);
}
}
}