我有一个问题,我无法找到答案。首先,我是编程中的菜鸟,所以所有建设性的反馈当然都是受欢迎的。
我们正在研究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);
}
答案 0 :(得分:1)
正如评论者所指出的,解决方案是创建自己的类,如下所示:
public class DataItem {
public Rectangle Rect { get; set; }
public string ID { get; set; }
}
比创建List<DataItem> listToBind
并将其绑定到ListBox