Справочное равенство в ListBox SelectedItem

Я работаю над приложением Silverlight для WP7 (Mango), и у меня есть ListBox (показывает компании), который заполняется запросом на обслуживание. У меня также есть объект профиля, загруженный из другого запроса службы.
К сожалению, я не контролирую API службы, поэтому в Профиле нет intII Company (к которому я мог бы привязать SelectedValue ListBox), но у него есть другой экземпляр Company.
Это вызывает проблему, так как Profile.Company.Equals(Companies.Single(o=>o.Id == Profile.Company.Id)) == falseтаким образом, когда я связываюсь с ListBox (<ListBox ItemsSource="{Binding Companies}" SelectedItem="{Binding Profile.Company, Mode=TwoWay}" DisplayMemberPath="Name" />) изначально ничего не выбирается.

Я думал, что решу эту проблему, заставив Компанию реализовать IEquatable<Company> и реализовать его путем сравнения идентификаторов. Механизм связывания вызывает IndexOf(selectedItem) в моей коллекции, который вызывает Company.Equals, которая правильно возвращает true для нужного элемента.

Пока еще ничего не выбрано в ListBox.
Что за черт??

0 ответов

Другие вопросы по тегам