我知道如何将项目添加到ComboBox,但无论如何都要为每个项目分配唯一的ID?我希望能够知道如果选择了哪个ID与每个项目相关联。谢谢!
答案 0 :(得分:29)
组合框中的项目可以是任何对象类型,显示的值是ToString()值。
因此,您可以创建一个新类,该类具有用于显示目的的字符串值和隐藏ID。只需覆盖ToString函数即可返回显示字符串。
例如:
public class ComboBoxItem()
{
string displayValue;
string hiddenValue;
//Constructor
public ComboBoxItem (string d, string h)
{
displayValue = d;
hiddenValue = h;
}
//Accessor
public string HiddenValue
{
get
{
return hiddenValue;
}
}
//Override ToString method
public override string ToString()
{
return displayValue;
}
}
然后在你的代码中:
//Add item to ComboBox:
ComboBox.Items.Add(new ComboBoxItem("DisplayValue", "HiddenValue");
//Get hidden value of selected item:
string hValue = ((ComboBoxItem)ComboBox.SelectedItem).HiddenValue;