2011-03-21 70 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