Элементы в выпадающем списке могут иметь любой тип объекта, и отображаемое значение является значением ToString ().
Таким образом, вы можете создать новый класс, который имеет строковое значение для отображения и скрытый идентификатор. Просто переопределите функцию 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;