silverlight,动态数据集合中,移除动态集合自身的内容

在xaml的页面上创建一个x:Name为_list1的ListBox,其中ListBox里面的每一项是ListBoxItem

 

if (_list1.SelectedItem == null)//如果_list1的选中项为空的情况下进行返回
{
  return;
}
else
{
  var list = _list1.SelectedItems;//获取_list1的所有的选中项
  List<ListBoxItem> OutList = new List<ListBoxItem>();//创建一个新的集合用来存储所有的ListBox的ListBoxItem,然后操作这个集合,遍历这个集合中的每一项,如果符合条件的情况下,那么在_list1里面删除掉这一项
  foreach (ListBoxItem item in list)
    {
      OutList.Add(item);
    }

  foreach (ListBoxItem item in OutList)//避免自己移除自己的情况,因为涉及到动态集合的改变
    {
      if (item.Content.ToString() != "附件表单")
      _list1.Items.Remove(item);
    }
}

//总体相当于使用了一个中间容器

 

如果不适用中间的这个集合的情况下,可能会因为动态的移除而导致集合在执行过程中变化而导致出现无法正常执行

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。