Confuso sobre CollectionViewSource (SelectedItem não está funcionando em combos)

Eu tenho um monte de combos que compartilham as mesmas opções disponíveis. Essas opções são fornecidas em uma coleção exposta do meu ViewModel. Tudo bem e dandy.

Agora eu quero essas escolhas classificadas, então eu decidi expor umICollectionView do meu ViewModel, em vez do meu habitualReadonlyObservableCollection<T>e classifique a visualização da coleção no meu ViewModel.

<code>class EditStuffViewModel : ViewModelBase
{
    public EditStuffViewModel (ObservableCollection<Choice> choices)
    {
        Choices = new CollectionViewSource() { Source = choices }.View;
        Choices.SortDescriptions.Add(new SortDescription("Name", ListSortDirection.Ascending));
    }

    public ICollectionView Choices
    {
        get;
        private set;
    }

    //snip other properties
}
</code>

Tudo isso funciona bem, exceto que agoratodos os meus combos agora sincronizam sua seleção.

Isso não é o que eu quero. Eu quero que as opções sejam compartilhadas, mas as seleções sejam para suas ligações normais. Eu acho que entendo que o meu CollectionView está rastreando a seleção, mas eu achei que esse era o comportamento que eu estava optando por cada controle.

Eu tentei definir explicitamenteIsSynchronizedWithCurrentItem="False" nos meus combos que os separam com sucesso, mas então meu limiteSelectedItem nunca é selecionado no combo (o getter ligado do ViewModel é chamado, mas o resultado nunca é selecionado). Selecionar um item parece atualizar o setter do meu ViewModel corretamente.

Obviamente, estou sentindo falta de algo fundamental em como o CollectionView deve funcionar. Alguém pode me esclarecer?

EDITAR: Meu mal, issoFAZ trabalhar comIsSynchronizedWithCurrentItem="False". Veja minha resposta para detalhes.

Felicidades.

questionAnswers(2)

yourAnswerToTheQuestion