Выбранное значение WPF ComboBox отображает значение?

Перед отображением пользовательского интерфейса данные будут извлекаться из базы данных, а эти данные будут отображаться на экране.

Теперь у меня есть экран с двумя полями. Один textbox и один combobox.

Значение textbox связывается, как показано ниже:

<TextBox Text="{Binding [someViewModel].person.name, Mode=TwoWay, 
ValidatesOnDataErrors=True, ValidatesOnExceptions=True,
ValidatesOnNotifyDataErrors=True}"

Теперь у меня есть ComboBox, который получает список значений из базы данных, говорит Желтый, Зеленый, Синий Ниже приведен способ привязки combobox:

<ComboBox IsSynchronizedWithCurrentItem="True" 
ItemSource="{Binding [someViewModel].ColorList}" 
DisplayMemberPath="ColorName" SelectedValuePath="ColorID" 
SelectedValue="{Binding [someViewModel].person.ColorID}"

Моя проблема в том, что когда я загружаю страницу, выбранное по умолчанию значение будет основано на [someViewModel].person.ColorID, но вместо этого будет показано пустое. В ComboBox есть значения. Когда я его отлаживаю, есть значение в [someViewModel].person.ColorID, но оно просто не отображается?

Когда я изменяю значение Желтый на Зеленый, значение будет отражено и на [someViewModel].person.ColorID, которое соответствует мне, что мне нужно

Ответ 1

У вас есть свойство ColorID ColorID или просто Id?

Если да: SelectedValuePath="Id"