如何以编程方式在ListboxItem上设置IsChecked属性?

时间:2013-12-23 16:06:08

标签: c# windows-phone-7 listbox

我有一个列表框,我通过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}?

1 个答案:

答案 0 :(得分:2)

通常应尽可能避免使用嵌套循环。为什么不这样做呢?

foreach(var iitem in Listboxx.Items.Where(i => secondList.Contains(i.Name)))
{
    iitem.IsSelected = true;
}