将ListViewItem添加到两个或更多ListView项集合?

时间:2013-07-22 21:09:27

标签: c# listviewitem

List<Profile> listProf = new List<Profile>();
...
...
foreach (Profile p in listProf)
{
   ListViewItem Item = new ListViewItem();
   Item.Text = p.Name;
   Item.Tag = p;
   ListView1.Items.Add(Item);
   ListView2.Items.Add(Item);
}

在这种情况下,如何将这个Item放到两个ListView中?我只是得到了克隆它所需要的错误。我怎样才能做到这一点?我甚至不确定ListView之所以如此挑剔也是如此挑剔。

如何将项目添加到多个ListViewCollection?

2 个答案:

答案 0 :(得分:2)

试试这个:

foreach(var p in listProf)
{
    var item = new ListViewItem{Text = p.Name, Tag = p};
    ListView1.Items.Add(item);
    ListView2.Items.Add((ListViewItem)item.Clone());
}

答案 1 :(得分:0)

ListView之所以如此挑剔&#34;是因为特别是IsSelected标志保持在ListViewItem级别...所以如果你将它添加到多个ListViews,那么在一个中选择它将被选中。

幸运的是,ListViewItem有一个.Clone()方法。

相关问题