I recently was debugging a strange issue we were seeing with our combo boxes. When the data context changed, the combo box would lose the selected item and appear blank but the list of possible selections would be correct.
I ran across this blog post by Philipp Sumi and thought it deserved more attention. Basically, the order in which you set up your bindings in XAML matters. With a combo box, if you define the ItemsSource binding before the SelectedItem binding, every time the data context changes the SelectedItem on the old data context will get set to null.
Switching these bindings around in the XAML so that the SelectedItem gets bound first and then the ItemsSource fixes both of the issues I was seeing.
Philipp says that this feels like a dirty hack to him, but it feels like a bug in WPF to me.
