-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;

ただし、時間をかけてデータバインディングと、WPFコントロールとの対話を大幅に簡素化するMVVMモデルについて学ぶことを強くお勧めします。

于 2012-10-24T19:30:39.260 に答える