问题似乎很简单,但我无法解决。我有一个来自WPF中ListBox的列表,并且我想读取此列表的每一项并对其进行测试(如果此列表中已存在)。因此,我尝试在foreach构造中将ListItem转换为字符串。但是看来,lbi是空的,我也不知道为什么。这是我的代码:
foreach(object lbi in liste.Items)
{
ListBoxItem something = (ListBoxItem)liste.ItemContainerGenerator.ContainerFromItem(lbi);
if (something.Content.ToString() != "someotherString")
liste.Items.Add(something.Content.ToString());
}
您可以简单地使用.Cast<string>()
:
var filtered = liste.Items.Cast<string>().Where(x=> x!= "someotherString");
liste.Items.Clear();
liste.Items.AddRange(filtered);