Я пытаюсь сделать то же самое. Но, как я выяснил, если вы хотите использовать стандартные привязки в выпадающем списке (набор для ItemsSource и dataItem для SelectedValue / SelectedItem), необходимо написать свой собственный элемент управления.
Combobox наследуется от Selector, и когда у вас есть ограниченная коллекция для свойства ItemsSource, и вы меняете значение свойства, которое ограничено на SelectedValue / SelectedItem, тогда Selector вызывает свой собственный частный метод FindItemWithValue (значение объекта). Этот метод сначала просматривает элементы в ограниченной коллекции, пока не найдет одинаковое значение. Это, конечно, заставит вас собрать все предметы перед выбранным.