在 WPF 中没有 listbox.findString。
问问题
498 次
3 回答
3
var entries = listBox.Items.Where(item => item.ToString() == "something");
于 2012-10-24T19:12:28.337 回答
3
假设我们有一个列表框:
ListBox b = new ListBox();
然后你可以使用 LINQ:
int index = b.Items.IndexOf((
from ListBoxItem a in b.Items
where a.Content.ToString() == "something"
select a).First());
或者您可以使用 foreach:
foreach (ListBoxItem lbi in b.Items)
{
if (lbi.Content is string && (string)lbi.Content == "something")
{
index = b.Items.IndexOf(lbi);
break;
}
}
于 2012-10-24T19:16:14.773 回答
0
在大多数情况下,您希望将 ListBox 的 ItemsSource 绑定到实现 IEnumerable 的代码中的实际集合,然后使用 .Where().First() 语句查找字符串的第一次出现,如下所示:
List<string> lstb = new List<string>() { "StringA", "StringB", "StringC" };
string stringC = lstb.Where(s => s == "StringC").First();
然后,如果您想以编程方式选择列表中的项目:
yourListBox.SelectedItem = stringC;
但是,我强烈建议您花时间了解数据绑定和 MVVM 模型,该模型大大简化了与 WPF 控件的交互。
于 2012-10-24T19:30:39.260 回答