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;
ただし、時間をかけてデータバインディングと、WPFコントロールとの対話を大幅に簡素化するMVVMモデルについて学ぶことを強くお勧めします。
于 2012-10-24T19:30:39.260 に答える