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";
我遇到了 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";