I\'ve looked at the answers to various questions, but haven\'t managed to map the content in the answers to the problem I\'m attempting to solve. I\'ve reduced it down to th
@SnowBear's answer worked well for me. But I want to clarify a detail of the binding.
In @Rob's example, both Title and Person classes use TitleID. Therefore, in @SnowBear's answer, in the binding:
SelectedValueBinding="{Binding TitleId}"
it wasn't immediately obvious to me which class and property was being bound.
Because the SelectedValueBinding attribute appeared on the DataGridComboBoxColumn, it is binding to the ItemsSource of the containing DataGrid. In this case the Contacts collection of Person objects.
In my case, the DataGrid's DataSource collection was attributed with a property that was named different from the ValuePath of the ComboBox's ItemSource collection. So my SelectedValueBinding's value was bound to a different property than the property named in the ComboBox's SelectedValuePath.