2013-03-13 3 views
1

J'ai une liste déroulante et je voudrais supprimer un élément basé sur le contenu de ComboBoxItem. Comment dois-je y aller? Quelque chose comme ceci:Supprimer un élément en fonction de son contenu

string contentToRemove = "ItemX"; 
combo.Items.Remove(combo.Where(x.Content.Equals(contentToRemove))); 

Notez que le code ne compile pas - je suis juste ce qui représente pseudocode pour tenter d'expliquer ce que je veux.

+0

essayer cette combo.Items.Remove (combo.First (x.Content.Equals (contentToRemove))); – Killo

+0

@Killo - que serait alors x? –

+0

Désolé j'ai oublié combo.Items.Remove (combo.Items.First (x => x.Content.Equals (contentToRemove))); – Killo

Répondre

3

Essayez ceci.

foreach (var item in combo.Items) 
{ 
    if (item.Name == contentToRemove) // Check item.Name or something similar property. 
     combo.Items.Remove(item); 
} 
+0

J'ai considéré cette approche, mais j'essayais de l'accomplir en une ou deux lignes si c'était possible. Merci quand même :) –

+1

Doit être combo.Items.Remove (item); –

+0

Merci, j'ai décidé d'aller avec cette approche après tout :) –

0

Essayez d'utiliser cette

string contentToRemove = "Mac2"; 

mycombo.Items.Add("Mac1"); 
mycombo.Items.Add("Mac2"); 
mycombo.Items.Remove(contentToRemove); 

L'expression que vous utilisez retournera bool (true ou false), mais pas la chaîne qui est acceptée par combo.items.remove("String")

Questions connexes