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?
答案 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()方法。