1
所以我有一个ListView
其中包含的MyFiles
和MyFolders
列表这两个类实现我的接口IExplorerItem
如何拖放项目到ListView和检测项目就滴到
现在,我已经建立了我列表视图,这样我可以拖放到它像这样:
<ListView ItemsSource="{Binding DisplayedItems}" AllowDrop="True">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Drop">
<Command:EventToCommand Command="{Binding DropFiles}" PassEventArgsToCommand="True"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</ListView>
和命令是:
private RelayCommand<DragEventArgs> _dropFiles;
/// <summary>
/// Gets the DropFiles.
/// </summary>
public RelayCommand<DragEventArgs> DropFiles
{
get
{
return _dropFiles
?? (_dropFiles = new RelayCommand<DragEventArgs>(
args =>
{
if (args.Data.GetDataPresent(DataFormats.FileDrop))
{
// Note that you can have more than one file.
string[] files = (string[])args.Data.GetData(DataFormats.FileDrop);
//do my thing with my files
}
}
}
}
所以这适用于拖放文件和处理它们。 但我不想检测文件被丢弃的项目。
例如如果IExplorerItem
它被丢弃是一个MyFolder
对象,然后将它们添加到该文件夹。 这可能吗?