ListBox SelectedItem上的引用相等

时间:2012-02-23 11:21:19

标签: silverlight windows-phone-7 data-binding listbox iequatable

我正在使用WP7(Mango)Silverlight应用程序,我有一个ListBox(显示公司),它由服务请求填充。我还有一个Profile对象,从另一个服务请求加载 遗憾的是,我无法控制服务API,因此配置文件没有int CompanyId(我可以绑定ListBox的SelectedValue),但它有另一个公司实例。 /> 这会导致问题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>并通过比较ID来实现它来解决这个问题。 Binding引擎在我的集合上调用IndexOf(selectedItem),该集合调用Company.Equals,它正确地为所需的项返回true。

但ListBox中仍未选择任何内容。
怎么了?

0 个答案:

没有答案