Кажется, что элегантный способ обеспечить инициализацию ItemsSource до того, как я установил SelectedItem от ВМ, - это объявить источник привязки ItemsSource (каким бы он ни был) в ресурсах моего представления.
Я уверен, что кто-то может привести меня к свету теперь, когда я указал на это.
Я пытался использовать CollectionViewSource, но не нашел способа использовать его возможности Filter без нарушения шаблона MVVM. Кроме того, я не знаю, как повторно поднять фильтр, как это было раньше с ICollectionView.Filter (отфильтрованные элементы зависят от другого выбора в выпадающем списке, ничего особенного на самом деле нет).
Возможно, ресурс, объявленный в представлении и используемый в качестве ItemsSource, не обязательно должен быть CVS, я ищу предложения здесь.
- Edit--
Я обнаружил, что решение IsSynchronizedWithCurrentItem = "True", распространенное по всей сети, на самом деле работает. Я был введен в заблуждение, потому что это не решило мою проблему с первой попытки из-за оставшегося SelectedValuePath, который больше не использовался на моем элементе управления.