Update
After a bit of investigating. What seems to be the issue is that the SelectedValue/SelectedItem is occurring before the Item source is finis
Use Loaded event:
private void cmb_Loaded(object sender, RoutedEventArgs e) { if (cmb.Items.Count > 0) cmb.SelectedIndex = 0; }
It works for me.