2016-05-05 9 views
0

Ich stoße auf dieses 'seltsame' (für mich) Verhalten der ListViewItem. Jedes Element ist wie folgt vom "Typ" umgeben: ListViewItem: {value}. Wie kann man die Verkapselung von Gegenständen loswerden?C# ListViewItem Typ Informationen Unterdrückung

Der Code Elemente in Listview zu setzen:

if (task.Items != null) 
     { 
      foreach (QuestTaskItem it in task.Items) 
      { 
       ListViewItem vi = new ListViewItem(); 
       vi.Name = it.Name; 
       vi.Text = it.Name; 
       vi.Tag = it; 

       itemList.Items.Add(vi); 
      } 
     } 

Ausgang: The output of the code above

UPDATE 1 QuestTaskItem:

public class QuestTaskItem 
{ 
    public int Id; 
    public string Name; 
    public string Data; 
    public string Image; 
    public int Evalutation; 

    public QuestTaskItem (int id, string name, string data, string img, int eval) 
    { 
     Id = id; 
     Name = name; 
     Data = data; 
     Image = img; 
     Evalutation = eval; 
    } 
} 
+0

Ist dies WinForms oder WPF? –

+0

Es ist ein WinForm –

+1

Normalerweise bedeutet das, dass Sie ein Objekt ohne nützliche ToString-Methode hinzufügen. Um sicher zu sein, müssten wir etwas über die Aufgabensammlung wissen. – TaW

Antwort

1

Für Ihre CheckedListBox ändern itemList.Items.Add(vi);-itemList.Items.Add(vi.Text);

Ein besserer Weg ist es, die CheckedListBox zu binden:

((ListBox)itemList).DataSource = task.Items; 
((ListBox)itemList).DisplayMember = "Name"; 
+1

Ich habe den Designer ... Ich habe nur die Werte in ... –

+0

Was ist der Typ von ItemList? – Arman

+0

System.Windows.Forms.ListViewItem, die verwendete Liste ist CheckedListBox –

Verwandte Themen