-3

在 WPF 中没有 listbox.findString。

4

3 回答 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 回答