尝试访问我自己定义的对象属性



我有一个列表框,需要为每个项目添加一个标记。所以我用这个代码来做:

 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)
{
   ...
}

最新更新