Как записать и считать значение из comboBox в C# WPF
Значения берутся из БД (id, name) Поле name отображается в выпадающем списке, при нажатии на него должен выбраться только id
Как присвоить id, может быть есть что-то типа value или прибиндить, но как?
И как считать значение при выборке
Точный ответ зависит от того, как и с чем вы связывали комбобокс. Я обычно использую нормальные вьюмодельки для элементов комбобокса, поэтому привязываю SelectedItem. В случае использования биндингов вопрос считывания значения при выборе стоять не должен.
Станислав Макаров, C добавлением разобрался, теперь не могу считать данные..
class ComboBoxtItemAdd
{
public ComboBoxItemAdd(int id, string name)
{
this.id= id;
this.name= name;
}
public int id{ get; set; }
public string name{ get; set; }
}
public void List()
{
string query = "SELECT * FROM table";
classMain.Connection();
SqlCommand command = new SqlCommand(query, classMain.connection);
SqlDataReader reader = command.ExecuteReader();
List<ComboBoxtItemAdd> result = new List<ComboBoxtItemAdd>();
while (reader.Read()) {
int id= Convert.ToInt32(reader["id"]);
string name= Convert.ToString(reader["name"]);
result.Add(new CreditItemAdd(id, name));
}
reader.Close();
classMain.connection.Close();
combobox1.ItemsSource = result;
combobox1s.SelectedIndex = 0;
}
public void SelectionChanged(object sender, SelectionChangedEventArgs args)
{
// Вот это не хочет работать
MessageBox.Show(Convert.ToString((sender as ComboBox).SelectedValue as ComboboxItem));
//Так тоже не работает
MessageBox.Show(Convert.ToString(combobox_Credits.SelectedValue));
}