我有一个列表框,我通过ItemsSource = list填充列表。
现在,我有另一个清单。我想要做的是遍历ListBox,看看ListBoxItem.Name是否相同。如果是,则应选择ListBoxItem。
我的想法:
List<string> firstList = new List<string>();
List<string> secondList = new List<string>();
Listboxx.ItemsSource = firstList;
foreach (string striing in secondList)
{
foreach (ListBoxItem iitem in Listboxx)
{
if (striing == iitem.Name)
{
iitem.IsSelected = true;
}
}
}
或者ListboxItemTemplate中有没有办法将IsChecked bool设置为{Binding IsCheckedOrNot}?
答案 0 :(得分:2)
通常应尽可能避免使用嵌套循环。为什么不这样做呢?
foreach(var iitem in Listboxx.Items.Where(i => secondList.Contains(i.Name)))
{
iitem.IsSelected = true;
}