2015-04-21 76 views
1

我有一個列表框,我需要根據內容修改列表。我試圖做到這一點,但它沒有做任何事情。WPF C#刪除基於內容的列表框項目

string itemRemove = "Apple"; 
lstFruits.Items.Remove(itemRemove); 
+0

什麼是'lstFruits'?當你運行代碼時會發生什麼?對我來說這似乎很好 - 如果列表中有Apple的項目,它將被刪除。但請更清楚您的問題。 – Eminem

+0

lstFruits是一個列表框控件,蘋果是一個項目。它不會刪除該項目。 – user565992

回答

2

的問題是,在一個ListBox控制,你不能像你從List<T>刪除刪除項目(即使用一個枚舉)。你必須循環使用索引,從最後一項開始,像這樣:

for (int n = lstFruits.Items.Count - 1; n >= 0; --n) 
{ 
    string itemRemove = "Apple"; 
    if (lstFruits.Items[n].ToString().Contains(itemRemove)) 
    { 
     lstFruits.Items.RemoveAt(n); 
    } 
}