C# ListViewItem类型信息抑制

C# ListViewItem type information suppression

我遇到了 ListViewItem 的 'strange'(对我来说)行为。每个项目都被 'type' 包围,如下所示:ListViewItem: {value}。如何摆脱'封装项目?

将项目放入 ListView 的代码:

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);
            }
        }

输出:

更新 1 任务任务项:

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;
    }
}

对于您的 checkedListBox,将 itemList.Items.Add(vi); 更改为 itemList.Items.Add(vi.Text);

更好的方法是绑定 CheckedListBox:

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