2013-07-22 68 views
0
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兩個ListViews?我只是得到了我需要克隆它的錯誤。我怎樣才能做到這一點?即使ListView想要如此挑剔,我也不太確定。將ListViewItem添加到兩個或更多ListView Items集合?

如何將一個項目添加到多個ListViewCollection中?

回答

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()); 
} 
+0

你的男人之間的聖徒 – DarthSheldon

0

原因ListView控件是如此「挑剔」,是因爲在特定的IsSelected標誌保持在ListViewItem的水平......所以如果你添加它到多個列表視圖,然後在選定的一個會被選中。

幸運的是ListViewItem有一個.Clone()方法。

+0

沒錯,我的問題更多地沿着「如何使用.Clone()如果它是最好的解決方案」 – DarthSheldon

相關問題