Kolejne pytanie z cyklu WinForms.
Mam sobie klasę reprezentującą coś a'la słownik oraz listę takich takich obiektów, która jest listą wartości do wypełnienia opcji comboboxa.

 
public class MyDict
{
     public string Code {get; set;}
     public string Name {get; set;}
}

no i lista

 
public IList<MyDict> DictionariesList {get;set;}

Na formie mam model, który zawiera wybrany element:

public class MyViewModel
{
     public MyDict SelectedDict {get; set;}
}

comboboxa na tej formie "zasilam" wartościami z listy:

 
combobox.DataSource = new BindingList(DictionariesList);
combobx.ValueMember = "Code";
combobox.DisplayMember = "Name";

i binduję do modelu:

 comboBox.DataBindings.Add("SelectedItem", Model, "SelectedDict");

i teraz jeśli wybiorę na comboboxie jakąś wartość to SelectedDict ustawia się na modelu prawidłowo.
Ale jeśli odczytam klasę np z bazy albo stworzę go ręcznie:

 
var model = new Model();
model.SelectedDict = new MyDict() { Code="Kod", Name="JakaśNazwa"};

to pomimo że taki MyDict(o takim Code i Name) znajduje się na liście to na comboboxie się nie wybiera.

Musiałbym wyszukać na liście element o danym kodzie i ten element z listy przypisać do MyDict, wtedy na comboboxie się wartość zmieni.

Da się to naprawić jakoś?