2011-10-14 51 views
1

我想有一個ListView除了「item.Text」和「item.Name」應該有每個ListViewItem更多的自定義屬性。擴展ListView類

我如何能做到這一點(語法和等...)

也是它可以設置List<string>List<class>作爲一個列表視圖項的屬性?

謝謝。

+1

避免使用控件作爲集合類。將數據從視圖中分離出來。 –

回答

4

您可以從ListViewItem類繼承。

public class MyListViewItem : ListViewItem { 
    public List<object> Tags {get; set;} 
} 

// ... elsewhere 

var item = new MyListViewItem { 
    Text = "Hello world!", 
    Tags = new List<object> { null, true, 15, "asdf", 78.7 } 
}; 
this.listView1.Items.Add(item); 
+1

還提及如何獲取項目... MyListViewItem myItem =(MyListViewItem)listView1.Items [0]; – Reniuz

+0

嗯,我在想整個ListView類,而不是隻有項目。這會做同樣的事情嗎?我希望所有的物品都具有相同的屬性。 –

+0

ListViewItem是ListView以外的另一個類。你不能「添加屬性」到列表視圖中的每個項目。每個項目都可以是從ListView派生的不同類的實例。 – TcKs