У меня ComboBox
настроен следующим образом, где KVPList
- это IList
(из KeyValuePair
, если это важно):
comboBox.DisplayMember = "Value";
comboBox.ValueMember = "Key";
comboBox.DataSource = KVPList;
Затем я установил привязку с SelectedValue
, привязкой к BindingSource
(к DataSet
). По какой-либо причине поле со списком всегда становится пустым, когда отображается форма. Однако он заполнен правильно (значения IList
отображаются нормально и могут быть выбраны).
Теперь, я старался изо всех сил проследить, и кажется, что он изначально правильно установил SelectedValue при привязке, но затем где-то по пути он сбрасывается до null
. Я играл с порядком вещей, которые также называются, но безрезультатно.
Может кто-нибудь пролить свет на это или предложить обходной путь?
Для записи, в той же форме, у меня есть другой ComboBox
в той же форме, с SelectedValue
, привязанным к тому же BindingSource
. DataSource
- это DataSet
, а не IList
, и он работает как шарм. Это может быть вариант сделать DataTable
из IList
, но это похоже на большие дополнительные затраты; Я генерирую IList
из перечисления.