Вы должны стремиться полностью отделить вашу модель от вашего взгляда, это должна быть цель, вы можете ее достичь или не можете, но все же это должно быть вашей целью.
В частности, ваш вопрос касаетсясписок констант (более или менее), что является простым случаем.Поправьте меня, если я ошибаюсь, но у вас, вероятно, есть таблица States
с code
и name
для каждого состояния, а затем у вас есть другая таблица с внешним ключом для первого.
В этом сценарии лучше всего загрузить и создать список StateViewModel
один раз во время инициализации приложения, а затем иметь дело со значением внешнего ключа (состояние code
как бы) во всем приложении вместо StateViewModel
сами объектыСвойства, которые вы должны использовать: SelectedValue
и SelectedValuePath
из ComboBox
, пример:
<ComboBox ItemsSource="{x:Static StateViewModel.StaticList}"
SelectedValue="{Binding StateForeignKey}"
SelectedValuePath="code"
DisplayMemberPath="name" />
Это заполнит ComboBox
объектами StateViewModel
(которые были созданы с использованием-disposed context), но передаст свойство code
выбранного элемента в связанное поле StateForeignKey
, кроме того, ComboBox
отобразит свойство name
, чтобы его можно было читать человеку.