Попробуйте это.
SelectedValue="{Binding SelectedId, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
SelectedValuePath="Id"
Обновление:
Я подготовил образец, который работает нормально. Я надеюсь, что это прояснит вас. (Реализуйте INotifyPropertyChanged самостоятельно)
MainWindow.xaml.cs:
public partial class MainWindow : Window
{
public ObservableCollection<Person> Persons { get; set; }
public int SelectedId { get; set; }
public MainWindow()
{
InitializeComponent();
DataContext = this;
Persons = new ObservableCollection<Person>
{
new Person { Id = 1, Name = "Raj" },
new Person { Id = 2, Name = "Ram" }
};
}
}
Person.cs:
public class Person
{
public int Id { get; set; }
public string Name { get; set; }
}
MainWindow.xaml:
<ComboBox Width="100" Height="30" ItemsSource="{Binding Persons}" DisplayMemberPath="Name" SelectedValue="{Binding SelectedId}" SelectedValuePath="Id"/>