WPF - Combobox SelectedItem не устанавливается? - PullRequest
11 голосов
/ 17 августа 2010

У меня есть ComboBox, для которого ItemsSource привязан к статическим List<CustomSettings> опциям. ComboBox является частью формы, которая связана с классом CustomObject, и одним из свойств этого класса является CustomSettingProperty.

Я хотел бы привязать SelectedItem ComboBox к свойству, указанному в CustomObject, однако SelectedItem="{Binding Path=CustomSettingProperty}" не устанавливает выбранный по умолчанию элемент. Используя точки останова, я вижу, что он вызывает метод get;, поэтому я думаю, что проблема может заключаться в том, что CustomSettingProperty создается отдельно от List<CustomObject>, поэтому WPF не считает, что это тот же элемент.

Есть ли простой способ сделать это? Или, возможно, альтернатива, так как класс CustomSettings содержит Id?

1 Ответ

22 голосов
/ 17 августа 2010

Если выбранный элемент не совпадает с экземпляром, который содержится в списке, вы должны переопределить Equals () в CustomObject, чтобы ComboBox знал, что это тот же объект.

Если это тот же экземпляр, возможно, это всего лишь простая вещь, например, установка BindingMode на TwoWay:

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