WPF - Combobox SelectedItem没有设置?

时间:2010-08-17 19:29:44

标签: wpf binding combobox selecteditem itemssource

我有一个ComboBox,其ItemsSource绑定到静态List<CustomSettings>个选项。 ComboBox是绑定到CustomObject类的表单的一部分,该类的一个属性是CustomSettingProperty。

我想将ComboBox的SelectedItem绑定到CustomObject中指定的属性,但SelectedItem="{Binding Path=CustomSettingProperty}"未设置默认的选定项。使用断点我可以看到它正在调用get;方法,所以我认为问题可能在于CustomSettingProperty是与List<CustomObject>分开创建的,因此WPF认为它不是同一个项目。

有一种简单的方法吗?或者也许是另一种选择,因为CustomSettings类确实包含Id?

1 个答案:

答案 0 :(得分:22)

如果所选项目与List中包含的实例不同,则必须覆盖CustomObject中的Equals(),以使ComboBox知道它是同一个对象。

如果它是同一个实例,也许只是一个简单的事情,比如将BindingMode设置为TwoWay:

SelectedItem="{Binding Path=CustomSettingProperty,Mode=TwoWay}"