我有一个列表框,需要为每个项目添加一个标记。所以我用这个代码来做:
public class ListBoxItem : Object
{
public int Id { get; set; }
public string Text { get; set; }
public int Tag { get; set; }
public ListBoxItem()
{
this.Id = 0;
this.Text = string.Empty;
this.Tag = 0;
}
public ListBoxItem(string Text, int Tag, int Id)
{
this.Id = Id;
this.Text = Text;
this.Tag = Tag;
}
public ListBoxItem(object Object)
{
this.Text = Object.ToString();
}
public override string ToString()
{
return this.Text;
}
}
我在给它一个标签后,在需要的时候准确地添加了一个项目,在这里就可以了。但当我试图浏览我的列表框时,我无法加入标签:
for (int i=0; i< listBox_map.Items.Count; i++)
{
if (listBox_map.Items[i].Tag==1) // .Tag don't appeare
//do something
}
这是我的问题。非常感谢。
您需要将Object类型的列表项强制转换为您的类型,如下所示:
if ((listBox_map.Items[i] as ListBoxItem).Tag==1)
{
...
}