如何在列表框c#中提交额外值?

如何在列表框c#中提交额外值?,c#,wpf,xaml,listbox,C#,Wpf,Xaml,Listbox,我有个问题,我找不到答案。首先,我是一个编程高手,所以欢迎所有有建设性的反馈 我们正在用c语言编写一个程序。在列表框中,我放置了对象(矩形)。这些矩形的参数(嗯,只有颜色,因为高度和宽度是固定的)保存到数据库中。但是我想给列表框中的每个对象一个额外的值(确切地说,我想给数据库中对象的id)。因此,稍后,我可以在列表框中获取所选项目的ID。这可能吗 //########## TOEVOEGEN VAN KLEUR AAN LISTBOX MET KLEURTJES + INITIALISATIE

我有个问题,我找不到答案。首先,我是一个编程高手,所以欢迎所有有建设性的反馈

我们正在用c语言编写一个程序。在列表框中,我放置了对象(矩形)。这些矩形的参数(嗯,只有颜色,因为高度和宽度是固定的)保存到数据库中。但是我想给列表框中的每个对象一个额外的值(确切地说,我想给数据库中对象的id)。因此,稍后,我可以在列表框中获取所选项目的ID。这可能吗

 //########## TOEVOEGEN VAN KLEUR AAN LISTBOX MET KLEURTJES + INITIALISATIE
        var queryKLeurenInDatabase = (from kleurtjes in dbo.tblKleurs
                                      select kleurtjes);
        foreach (var item in queryKLeurenInDatabase)
        {
            int red, green, blue,ID;
            Rectangle kleurBox = new Rectangle();
            kleurBox.Height = 18;
            kleurBox.Width = 160;
            red = item.Red.Value;
            green = item.Green.Value;
            blue = item.Blue.Value;
            ID = item.KleurID;
            kleurBox.Fill = new SolidColorBrush(new Color() { R = Convert.ToByte(red), G = Convert.ToByte(green), B = Convert.ToByte(blue), A = 255 });
            ListItem dataItem = new ListItem();
            dataItem.Tag = ID;                
            listBoxOpgeslagenKleuren.Items.Add(kleurBox);
            //ListItem dataItem = new ListItem();
            //dataItem.Text = "value to show";
            //dataItem.Value = *another value you want *;
            //listBox.Items.Add(dataItem);
        }

正如评论员所指出的,解决方案是创建自己的类,如下所示:

public class DataItem { 

    public Rectangle Rect { get; set; }
    public string ID { get; set; }

}

然后您可以创建一个
列表绑定
并将其绑定到您的列表框

创建一个数据类并指定列表框项目,如ID、名称、描述等,并将数据绑定到数据库非常感谢您,也感谢您在我的第一篇文章中所做的编辑。很好,很好。继续编码:)