2011-03-21 69 views
0

嘿家伙, 我开始将WPF包裹在我的头上,我走到了死胡同。WPF拖放数据绑定

我有一个ListBox,通过拖放来接受文件/文件夹。我有一个文件类女巫包含文件属性,如“名称”,“缩略图”[等]和一个FilesCollection类以及它自我直观。 Collection采用“FilesPath”,然后从该路径中检索所有文件。 目前它有一个与它相关的静态路径,但我希望当我将一个文件夹拖到列表框时改变这个路径。

所以,我要的是:

  • 当我的文件夹拖到列表框,它的路径关联到FilesCollection类
+1

那么,你想知道怎么办的文件拖放或如何枚举文件到您的FilesCollection? – 2011-03-21 21:33:54

+0

我想知道如何将我的FilesCollection“FilesPath”属性绑定到拖入列表框的文件夹的路径。希望这是有道理的。 – 2011-03-21 21:55:58

+0

我认为它可以使用Parent属性和全局事件“FolderPathChanged”来实现。每个项目都订阅该事件并检查源代码是否可以在父母层次结构中达到。就像那样,这只是一个理论上的假设,我不知道在实践中会发生什么。 – vorrtex 2011-03-21 23:11:26

回答

1

所有你需要做的是设置的AllowDrop为True并处理Drop事件。

列表框定义:

<ListBox AllowDrop="True" Drop="ListBox_Drop"> </ListBox> 

的事件处理程序:

private void ListBox_Drop(object sender, DragEventArgs e) 
{ 
    if (e.Data.GetDataPresent("FileName")) 
    { 
     string folderPath = e.Data.GetData("FileName"); 
     //do whatever you need to do with the folder path 
    } 
} 
+2

我会和这一起去的。当一行或两行代码足以满足要求时,就会出现这样的情况。 – 2011-03-22 09:01:05