0
我有一個列表框表示一個direcory的內容。我想只允許放在代表目錄本身的項目上。我已經試過兩種方法:AllowDrop只有一些ListBoxItems
首先我ListBox的的ItemSource設置的所有目錄內容compositeCollection並試圖通過那些迭代:
foreach (ListBoxItem lbItem in directoryExplorer.Items)
{
MessageBox.Show(lbItem.DataContext.GetType().ToString());
}
的消息框出現與「目錄」或每個項目的'UserFile'。我希望能夠訪問這些項目,檢查它們代表的內容,並根據需要設置AllowDrop。
我的第二個辦法是增加單個項目,像這樣:
ListBoxItem的NXT;
foreach (Directory d in dir.childdirs)
{
MessageBox.Show(d.name);
nxt = new ListBoxItem();
nxt.DataContext = d;
nxt.AllowDrop = true;
nxt.Name = d.name;
directoryExplorer.Items.Add(nxt);
}
foreach (UserFile f in dir.childfiles)
{
MessageBox.Show(f.name);
nxt = new ListBoxItem();
nxt.AllowDrop = false;
nxt.DataContext = f;
nxt.Name = f.name;
directoryExplorer.Items.Add(nxt);
}
但後來它只是空白。
你需要在你的列表框中放置物品嗎? – 2011-06-13 11:48:55