2011-10-14 3 views
1

"item.Text"및 "item.Name"외에 각 ListViewItem에 대해 더 많은 사용자 지정 속성이 있어야하는 ListView를 갖고 싶습니다.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의 모든 항목에 "속성을 추가"할 수 없습니다. 모든 항목은 ListView에서 파생 된 다른 클래스의 인스턴스가 될 수 있습니다. – TcKs

관련 문제